swjtu2383(Music Problem)
来源:互联网 发布:数据科学家的职业规划 编辑:程序博客网 时间:2024/05/18 13:46
题目链接:http://swjtuoj.cn/problem/2383/
当n大于3600时,一定可以,证明:当(presum[i]-presum[j])%3600 == 0时,成立,根据抽屉原理,当n > 3600时,一定有presum[i] == presum[j](mod 3600)
当n<=3600时,dp
f[i+1][j] |= f[i][j];
f[i+1][(j+tt[i])% 3600] |= f[i][j];
f[i+1][(j+tt[i])% 3600] |= f[i][j];
bool类型的 DP ,用现在的状态更新将来的状态
#include <iostream>#include <cstdio>#include <memory.h>#include <algorithm>using namespace std;bool f[3700][3700];int tt[100010];int main(){ int t; cin >> t; while (t > 0) { t--; int n; scanf("%d", &n); for (int i=0; i<n; i++) scanf("%d", &tt[i]); memset(f,0,sizeof(f)); if (n > 3600) { cout << "YES" << endl; continue; } for (int i=0; i<n; i++) f[i+1][tt[i]%3600] = 1; for (int i=0; i<n; i++) { for (int j=0; j<3600; j++) { f[i+1][j] |= f[i][j]; f[i+1][(j+tt[i])% 3600] |= f[i][j]; } } if (f[n][0]) cout << "YES" << endl; else cout << "NO" << endl; } return 0;}
阅读全文
0 0
- swjtu2383(Music Problem)
- swjtuoj 2383 Music Problem
- Music
- music
- music
- music~~
- Music
- music
- music
- Music
- music
- Music
- Music
- @@music@@
- music
- dp+抽屉原理 codeforces577b--Modulo Sum、swjtuoj2383--Music Problem
- 西南交通大学第十三届ACM决赛 D.Music Problem 背包DP
- Problem 1049: Lost My Music【可持久化栈+倍增】
- 使用jQuery插件pngFix让所有的浏览器都支持PNG
- LeetCode 题解(Week 12):375. Guess Number Higher or Lower II
- ** could not be redeployed because it could not be completely removed in the undeployment phase
- Session一致性架构设计
- linux(二)
- swjtu2383(Music Problem)
- docker学习笔记06:docker快速清理命令
- 正则验证,match()与test()函数的区别?
- 【设计模式】之代理模式
- Android相机调用后直接闪退的问题
- Spring的两种定时器-task和quartz
- matlab 设置绘图的大小,字号,线宽,字体--按投稿要求
- 部分国外顶级会议论文没有关键词
- 用异或快速找出不同的数