2013 ACM/ICPC Asia Regional Chengdu Online
来源:互联网 发布:seo h1标签 编辑:程序博客网 时间:2024/06/05 23:54
2013 ACM/ICPC Asia Regional Chengdu Online
题目链接
4730:签到题,直接判断结尾即可
4731:找规律,关键是字母数为2的时候
4734:数位dp,这题把小于和等于的情况分开考虑了,这样每次不用清空dp数组,只需要在计算出等于的情况即可
4737:twopointer+位运算
代码:
#include <cstdio>#include <cstring>int t;char str[105];int main() {int cas = 0;scanf("%d", &t);while (t--) {scanf("%s", str);printf("Case #%d: ", ++cas);if (strlen(str) < 4) printf("%snanodesu\n", str);else {int len = strlen(str);if (str[len - 1] == 'u' && str[len - 2] == 's' && str[len - 3] == 'e' && str[len - 4] == 'd') {for (int i = 0; i < len - 4; i++)printf("%c", str[i]);printf("nanodesu\n");} else {printf("%snanodesu\n", str);}}}return 0;}
#include <cstdio>#include <cstring>int t;int n, m;const char out[10] = "aababb";int main() {int cas = 0;scanf("%d", &t);while (t--) {scanf("%d%d", &m, &n);printf("Case #%d: ", ++cas);if (m == 1) {for (int i = 0; i < n; i++)printf("a");printf("\n");} else if (m == 2) {if (n == 1) printf("a\n");else if (n == 2) printf("ab\n");else if (n == 3) printf("aab\n");else if (n == 4) printf("aabb\n");else if (n == 5) printf("aaaba\n");else if (n == 6) printf("aaabab\n");else if (n == 7) printf("aaababb\n");else if (n == 8) printf("aaababbb\n");else {n -= 2;printf("aa");int ci = n / 6;int yu = n % 6;for (int i = 0; i < ci; i++)printf("%s", out);if (yu <= 4) {for (int i = 0; i < yu; i++)printf("a");} else {for (int i = 0; i < yu; i++)printf("%c", out[i]);}printf("\n");}} else {int cnt = 0;for (int i = 0; i < n; i++) {printf("%c", 'a' + cnt);cnt = (cnt + 1) % 3;}printf("\n");}}return 0;}
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int t, a, b;int bit[15], pow2[15], n;int dp[11][10000];void build() {n = 0;if (b == 0) bit[n++] = 0;while (b) {bit[n++] = b % 10;b /= 10;}}int dfs(int u, int s, int flag) {if (s < 0) return 0;if (u == -1)return s >= 0;int &ans = dp[u][s];if (flag && ans != -1) return ans;int tmp = 0;if (flag) {for (int i = 0; i < 10; i++)tmp += dfs(u - 1, s - i * pow2[u], 1);} else {for (int i = 0; i < bit[u]; i++)tmp += dfs(u - 1, s - i * pow2[u], 1);tmp += dfs(u - 1, s - bit[u] * pow2[u], 0);}if (flag) ans = tmp;return tmp;}int main() {int cas = 0;pow2[0] = 1;for (int i = 1; i < 10; i++)pow2[i] = pow2[i - 1] * 2;scanf("%d", &t);memset(dp, -1, sizeof(dp));while (t--) {scanf("%d%d", &a, &b);int sum = 0;int cn = 0;while (a) {sum += a % 10 * pow2[cn++];a /= 10;}build();printf("Case #%d: %d\n", ++cas, dfs(n - 1, sum, 0));}return 0;}
#include <cstdio>#include <cstring>const int N = 100005;int t, n, m, a[32], s[N];typedef long long ll;int main() {int cas = 0;scanf("%d", &t);while (t--) {ll ans = 0;memset(a, 0, sizeof(a));scanf("%d%d", &n, &m);int l = 0, num;for (int i = 0; i < n; i++) {scanf("%d", &s[i]);int cnt = 0;num = s[i];while (num) {if (num&1)a[cnt]++;num /= 2;cnt++;}int tmp = 0;for (int j = 30; j >= 0; j--)tmp = tmp * 2 + (a[j] != 0);if (tmp >= m) {while (1) {num = s[l];int cnt = 0;while (num) {if (num&1)a[cnt]--;num /= 2;cnt++;}int tmp = 0;for (int j = 30; j >= 0; j--)tmp = tmp * 2 + (a[j] != 0);l++;if (tmp < m) {ans += (i - l + 1);break;}}} else ans += (i - l + 1);}printf("Case #%d: %I64d\n", ++cas, ans);}return 0;}
1 0
- 2013 ACM/ICPC Asia Regional Chengdu Online
- 2013 ACM/ICPC Asia Regional Chengdu Online
- 2013 ACM/ICPC Asia Regional Chengdu Online
- 2013 ACM/ICPC Asia Regional Chengdu Online 个人总结
- 2013 ACM/ICPC Asia Regional Chengdu Online---1003
- 2013 ACM/ICPC Asia Regional Chengdu Online 1004 Minimum palindrome
- 2012 ACM/ICPC Asia Regional Chengdu Online-hdu 4288
- 2012 ACM/ICPC Asia Regional Chengdu Online-hdu-4289
- 2012 ACM/ICPC Asia Regional Chengdu Online(hdu4291)
- 2012 ACM/ICPC Asia Regional Chengdu Online(hdu4292)
- hdu 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- hdu 4737 A Bit Fun 数列(2013 ACM/ICPC Asia Regional Chengdu Online 1010)
- 2013 ACM/ICPC Asia Regional Chengdu Online HDU 4731 Minimum palindrome(规律)
- 2013 ACM/ICPC Asia Regional Chengdu Online//HDU4730/HDU4731/HDU4734/HDU4737
- hdu 4734 F(x) 数位dp (2013 ACM/ICPC Asia Regional Chengdu Online 1007)
- HDU 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- hdu 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- 2013 ACM/ICPC Asia Regional Chengdu Online&hdu4735Little Wish~ lyrical step~(DLX解重复覆盖)
- .net 线程 和 线程安全
- java经典编程题(40-42)
- HDU 4403 A very hard Aoshu problem (状态压缩+枚举)
- 广搜BFS 迷宫问题
- “Spark上流式机器学习算法实现”终期检查报告
- 2013 ACM/ICPC Asia Regional Chengdu Online
- DLUTOJ 1184 分块
- HTTP API设计Guide
- java经典编程题(43-45)
- [NWPU][2014][TRN][12]并查集D - A Bug's Life POJ 2492
- 题目1518:反转链表
- NOPI使用手册
- android 设置全屏
- 如何使用hadoop实现精准营销