BestCoder Round #8

Summary

 1 /*
 2 ID:esxgx1
 3 LANG:C++
 4 PROG:bestcoder8_A
 5 */
 6 #include <cstdio>
 7 #include <cstring>
 8 #include <iostream>
 9 #include <algorithm>
10 using namespace std;
11
12 int a[107];
13 long long b[107*107];
14
15 int main(void)
16 {
17     #ifndef ONLINE_JUDGE
18     freopen("in.txt", "r", stdin);
19     #endif
20
21     int N;
22     while(scanf("%d", &N) > 0) {
23         for(int i=0; i<N; ++i) scanf("%I64d", &a[i]);
24         int k = 0;
25         for(int i=0; i<N; ++i) {
26             for(int j=i+1; j<N; ++j) {
27                 b[k++] = a[i] + a[j];
28             }
29         }
30         sort(b, b+k);
31         int j = unique(b, b+k) - b;
32         long long S = 0;
33         for(int i=0; i<j; ++i) {
34             S += b[i];
35         }
36         printf("%I64d\n", S);
37     }
38     return 0;
39 }

Reading comprehension

 1 /*
 2 ID:esxgx1
 3 LANG:C++
 4 PROG:bestcoder8_B
 5 */
 6 #include <cstdio>
 7 #include <cstring>
 8 #include <iostream>
 9 #include <algorithm>
10 using namespace std;
11
12 int M;
13
14 const int n = 2;
15 struct mat {
16     int at[n][n];
17 };
18
19 #define mod M
20 mat m22_m(const mat &a,const mat &b)
21 {
22     mat t;
23     for(int i=0;i<n;++i) {
24         for(int k=0;k<n;++k) {
25             long long u = 0;
26             for(int j=0;j<n;++j)
27                 u += (long long)a.at[i][j] * b.at[j][k];
28             t.at[i][k] = u % mod;
29         }
30     }
31     return t;
32 }
33
34 mat expo(mat p,int k)
35 {
36     mat e;
37     memset(e.at,0,sizeof(e.at));
38     for(int i=0; i<n; ++i) e.at[i][i]=1;
39     for(;k; k>>=1) {
40         if(k & 1) e = m22_m(e, p);
41         p = m22_m(p,p);
42     }
43     return e;
44 }
45
46 inline void DEC(int &a, int b){a -= b; if (a < 0) a += M;}
47
48 int main(void)
49 {
50     #ifndef ONLINE_JUDGE
51     freopen("in.txt", "r", stdin);
52     #endif
53
54     int N;
55     while(scanf("%d%d", &N, &M)>=0) {
56         mat p;
57         p.at[0][0] = 1, p.at[0][1] = 2;
58         p.at[1][0] = 1, p.at[1][1] = 0;
59         int rslt = expo(p, N).at[0][0];
60         if (!(N&1)) DEC(rslt, 1);
61         printf("%d\n", rslt);
62     }
63     return 0;
64 }
时间: 2024-10-29 19:13:38

BestCoder Round #8的相关文章

BestCoder Round #91

传送门:http://acm.hdu.edu.cn/search.php?field=problem&key=BestCoder+Round+%2391&source=1&searchmode=source A题:给你n种字母,每种字母有个权值vali,共cnti个,现在让你在里面挑出任意数量的字符,组合成一个字符串,该字符串的权值的计算方式为val1*1+val2*2+--+valn*n,让你输出字符串最大的权值是多少.这题很容易会有一个错误的贪心,就是把val为负的舍去,然后v

BestCoder Round #65 (ZYB&#39;s Game)

ZYB's Game Accepts: 672 Submissions: 1207 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description ZYBZYBZYB played a game named NumberBombNumber BombNumberBomb with his classmates in hiking:a host keeps a

hdu5418 BestCoder Round #52 (div.2) Victor and World ( floyd+状压dp)

Problem Description After trying hard for many years, Victor has finally received a pilot license. To have a celebration, he intends to buy himself an airplane and fly around the world. There are n countries on the earth, which are numbered from 1 to

hdu 5163 Taking Bus (BestCoder Round #27)

Taking Bus                                                               Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 501    Accepted Submission(s): 203 Problem Description Bestland has a v

BestCoder Round #11 (Div. 2) 前三题题解

题目链接: huangjing hdu5054 Alice and Bob 思路: 就是(x,y)在两个參考系中的表示演全然一样.那么仅仅可能在这个矩形的中点.. 题目: Alice and Bob Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 216    Accepted Submission(s): 166 Problem De

BestCoder Round #16

BestCoder Round #16 题目链接 这场挫掉了,3挂2,都是很sb的错误 23333 QAQ A:每个数字,左边个数乘上右边个数,就是可以组成的区间个数,然后乘的过程注意取模不然会爆掉 B:dp,dp[i][2]记录下第一长的LIS,和第二长的LIS,哎,转移的时候一个地方写挫掉了导致悲剧啊QAQ C:首先如果知道Nim游戏的,就很容易转化问题为,一些数字是否能选几个能否异或和为0,那么就是每个数字拆成40位,然后每一位异或和为0,这样就可以构造出40个方程,然后高斯消元求解,如果

BestCoder Round #11 (Div. 2) 题解

HDOJ5054 Alice and Bob Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 302    Accepted Submission(s): 229 Problem Description Bob and Alice got separated in the Square, they agreed that if they

BestCoder Round #9

BestCoder Round #9 题目链接 A:暴力枚举一个数字,就能求出另一个数字,for一遍即可 B:博弈,判断前n - 1个开头连续1的奇偶性即可 C:先预处理出每个点对应哪几个点,每次查询计算一次即可 代码: A: #include <cstdio> #include <cstring> #include <vector> #include <set> #include <algorithm> #include <cmath&g

hdu 4956 Poor Hanamichi BestCoder Round #5(数学题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4956 Poor Hanamichi Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7    Accepted Submission(s): 4 Problem Description Hanamichi is taking part in

BestCoder Round #4 前两题 hdu 4931 4932

第一题太水了.. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 int a[6]; 7 int main(){ 8 int cas; 9 scanf( "%d", &cas ); 10 while( cas-- ){ 11 for( int i = 0; i <