Codeforces Round #289 (Div. 2, ACM ICPC Rules) (A, B, C, E)
来源:互联网 发布:免费算命软件大全 编辑:程序博客网 时间:2024/05/21 06:54
A:水题,根据题目预处理一下输出即可
B:先把最大和最小找出来,可以让最小全是1,然后最大比最小多出的部分就放1,2,3,4,5...所以如果MAX - MIN > k就是NO,不然就根据这个构造出答案
C:贪心的策略,每次要让数字尽量小,那么就和上一个数字比较,如果需要的和比上一个小,就先找到一个新数字,使得和小于所需数字,并且该数字是大于上一个数字的最小值,找的方法就是从末尾不断放0进位。那么现在情况就只剩下需要的和比上一个大的了,这个就贪心,从末尾尽量变成9即可
E:一个计数问题,其实只要考虑每个字母所加成的值即可,每个字母而言,长度满足能到最左和最右的就是+1,而中间到不了最大的则为,1/ i + 1 / (i +1) + 1 / ( i +2)....,i在该数字到两边的距离之间的值,比如总长度为7当前位置为2,那么i就是从长度为3到长度6,而这样并没有计算完,因为还有后面超过6的情况,只要在加上从后面往前算的 1 / (n - i + 1) * i 之和即可,所以要预处理两个数组进行计数,具体看代码:
A:
#include <cstdio>#include <cstring>using namespace std;int n, a[15][15];int main() { for (int i = 1; i <= 10; i++) a[1][i] = a[i][1] = 1; for (int i = 2; i <= 10; i++) for (int j = 2; j <= 10; j++) a[i][j] = a[i - 1][j] + a[i][j - 1]; while (~scanf("%d", &n)){ printf("%d\n", a[n][n]); } return 0;}
B:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n, k, a[105];int main() { while (~scanf("%d%d", &n, &k)) { int Min = 105, Max = 0; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); Min = min(Min, a[i]); Max = max(Max, a[i]); } int use = min(k, Min); int one = Min / use; int yu = Min % use; if (Max - Min > k) printf("NO\n"); else { printf("YES\n"); for (int i = 0; i < n; i++) { printf("1"); for (int j = 2; j <= Min; j++) printf(" 1"); for (int j = Min + 1; j <= a[i]; j++) printf(" %d", j - Min); printf("\n"); } } } return 0;}
C:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 305;int n, b[N];int num[10005], nn;void find(int cha) { for (int i = 0; i < nn; i++) { if (cha > 0) { num[i] += 1; for (int j = i; j < nn; j++) { num[j + 1] += num[j] / 10; num[j] %= 10; } if (num[nn]) nn++; return; } cha += num[i]; num[i] = 0; } num[nn++] = 1;}int main() { while (~scanf("%d", &n)) { nn = 1; memset(num, 0, sizeof(num)); for (int i = 0; i < n; i++) scanf("%d", &b[i]); for (int i = 0; i < n; i++) { int tmp = 0; for (int i = 0; i < nn; i++) tmp += num[i]; int cha = b[i] - tmp; if (cha <= 0) find(cha); tmp = 0; for (int i = 0; i < nn; i++) tmp += num[i]; cha = b[i] - tmp; for (int i = 0; i < nn; i++) { if (num[i] + cha <= 9) { num[i] += cha; cha = 0; break; } else { cha = max(cha - 9 + num[i], 0); num[i] = 9; } } if (cha) { while (cha) { num[nn++] = min(cha, 9); cha = max(cha - 9, 0); } } for (int i = nn - 1; i >= 0; i--) printf("%d", num[i]); printf("\n"); } } return 0;}
E:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 500005;char str[N];double cal1[N], cal2[N];int vis[1005];double ans;int main() { gets(str + 1); int n = strlen(str + 1); for (int i = 1; i <= n; i++) { cal1[i] = cal1[i - 1] + 1.0 / i; cal2[i] = cal2[i - 1] + 1.0 / (n - i + 1) * i; } ans = 0; memset(vis, 0, sizeof(vis)); vis['I'] = vis['E'] = vis['A'] = vis['O'] = vis['U'] = vis['Y'] = 1; for (int i = 1; i <= n; i++) { if (vis[str[i]]) { int c = min(i, n - i + 1); ans += c * (cal1[n - c + 1] - cal1[c]) + c + cal2[c - 1]; } } printf("%.10lf\n", ans); return 0;}
0 0
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) (A, B, C, E)
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)C、E
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)(A,B)
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) C题
- Codeforces Round #116 (Div. 2, ACM-ICPC Rules) E - Cubes
- Codeforces Round #116 (Div. 2, ACM-ICPC Rules)---E. Cubes
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) -- B. Painting Pebbles (贪心)
- Codeforces Round #116 (Div. 2, ACM-ICPC Rules) C - Letter
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)E. Pretty Song
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) E. Pretty Song
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) E. Pretty Song
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)E.Pretty Song
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) E. Pretty Song
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) E. Pretty Song
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)E. Pretty Song(数学,想法题,好题)
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) B. Painting Pebbles
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)
- Codeforces Round #289 (Div. 2, ACM ICPC Rules)
- UVA-213-Message Decoding
- iOS7 UITableViewCell适配
- thinkPHP 运行出现Fatal error: Call to undefined function Think\imagettftext()...问题
- about nodejs(2)
- Qt for iOS,Qt 与Objective C混合编程
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) (A, B, C, E)
- uva839 not so mobile
- Java零碎知识随笔
- 十进制,BCD数怎样转8421BCD码
- 在visual studio IDE 巧用正则表达式 完成替换工作
- hdu 5167 暴力
- java中什么是目录
- LeetCode-Binary Tree Level Order Traversal II
- atol和strtol的区别