Music Problem

文章目录

    • 题目描述
    • 题意:
    • 题解:

传送

时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述

Listening to the music is relax, but for obsessive(强迫症), it may be
unbearable. HH is an obsessive, he only start to listen to music at
12:00:00, and he will never stop unless the song he is listening ends
at integral points (both minute and second are 0 ), that is, he can
stop listen at 13:00:00 or 14:00:00,but he can’t stop at 13:01:03 or
13:01:00, since 13:01:03 and 13:01:00 are not an integer hour time.
Now give you the length of some songs, tell HH whether it’s possible
to choose some songs so he can stop listen at an integral point, or
tell him it’s impossible. Every song can be chosen at most once.

输入描述:

The first line contains an positive integer T(1≤T≤60), represents
there are T test cases. For each test case: The first line
contains an integer n(1≤n≤105), indicating there are n songs. The
second line contains n integers a1,a2…an (1≤ai≤109 ), the ith integer
ai indicates the ith song lasts ai seconds.

输出描述:

For each test case, output one line “YES” (without quotes) if HH is
possible to stop listen at an integral point, and “NO” (without
quotes) otherwise.

示例1
输入

3
3
2000 1000 3000
3
2000 3000 1600
2
5400 1800

输出

NO
YES
YES

说明
In the first example it’s impossible to stop at an integral point.
In the second example if we choose the first and the third songs, they cost 3600 seconds in total, so HH can stop at 13:00:00
In the third example if we choose the first and the second songs, they cost 7200 seconds in total, so HH can stop at 14:00:00

题意:

给你n个数,这些数自由组合能不能凑出3600的倍数

题解:

我一开始想到的是前缀和,后来感觉dp最直接
dp[x]=1表示能组成x这个数
dp = 0表示组不了
cnt是中间数组,暂时存储本轮的数值
因为求能不能组成3600,可以用mod,3600的倍数mod后都是0,直接求dp[0]是否等于1
每读取一个a,就把a与之前所求的值进行相加存在cnt里,然后再给dp[],cnt就是工具人

#include<bits/stdc++.h>
#define mem(a) memset(a,0,sizeof(a))using namespace std;
const int maxn=1e5+3;
bool dp[maxn],cnt[maxn];
const int mod=3600;
int main()
{int t,n;scanf("%d",&t);while(t--){mem(dp);mem(cnt);scanf("%d",&n);for(int i=1;i<=n;i++){int a;cin>>a;a%=3600;if(!dp[0]){for(int j=0;j<3600;j++){if(dp[j]>0||j==0){cnt[(a+j)%3600]=1;}}for(int j=0;j<3600;j++){if(cnt[j])dp[j]=1;if(cnt[j]==1)cnt[j]=0;}//	mem(cnt);}}if(!dp[0])cout<<"NO"<<endl;else cout<<"YES"<<endl;}return 0;
}

有个很玄学的地方我把读入n放在两个mem之前,数据就过了一半,放后面就ac了,不知道为什么
在这里插入图片描述看来卡时间卡的太紧了(笑哭)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【DP】翻硬币(jzoj 3921)

翻硬币 jzoj 3921 题目大意&#xff1a; 给你一个长度为nnn的当前01串和目标01串&#xff0c;现在你要做mmm此操作&#xff0c;每次操作你要使kkk个不同的位取反&#xff0c;现在问你有多少种方法可以使当前01串变为目标01串 输入样例&#xff1a; 3 2 1 100 001输出样例&…

可扩展架构设计的三个维度

业界对于可扩展的系统架构设计有一个朴素的理念,就是&#xff1a;通过加机器就可以解决容量和可用性问题这一理念在“云计算”概念疯狂流行的今天&#xff0c;得到了广泛的认可&#xff01;对于一个规模迅速增长的系统而言&#xff0c;容量和性能问题当然是首当其冲的。但是随着…

YbtOJ#20082-[NOIP2020模拟赛B组Day8]导出子图【dp】

正题 题面链接:https://www.ybtoj.com.cn/contest/62/problem/4 题目大意 nnn个区间&#xff0c;如果第xxx个区间和第yyy个区间有交集那么xxx到yyy直接就有一条边。 求这张图上的所有导出子图中有多少棵树。 解题思路 条件可以转换为这些区间联通并且没有一个位置被333个区间…

.NET Core开发日志——简述路由

有过ASP.NET或其它现代Web框架开发经历的开发者对路由这一名字应该不陌生。如果要用一句话解释什么是路由&#xff0c;可以这样形容&#xff1a;通过对URL的解析&#xff0c;指定相应的处理程序。回忆下在Web Forms应用程序中使用路由的方式&#xff1a;然后是MVC应用程序&…

【单调栈】奶牛的歌声(jzoj 1256)

奶牛的歌声 jzoj 1256 题目大意 有n头牛&#xff0c;每头牛的声音可以被两边第一头比他高的牛所听到&#xff0c;音量为S&#xff0c;问听到声音的音量之和最大的牛听到的音量之和是多少 输入样例 3 4 2 3 5 6 10输出样例 7样例解释 队伍中有3头奶牛&#xff0c;第1头牛…

P3168-[CQOI2015]任务查询系统【主席树】

正题 题目链接:https://www.luogu.com.cn/problem/P3168 题目大意 nnn个任务(si,ei,ti)(s_i,e_i,t_i)(si​,ei​,ti​)表示从si∼eis_i\sim e_isi​∼ei​的任务优先级为tit_iti​。 然后每次询问一个时刻前kkk小的优先级任务优先级和。 解题思路 开主席树&#xff0c;在sis…

相反数

A 相反数 传送 题意&#xff1a; 一个数加上他的相反数 题解&#xff1a; 用字符串存数&#xff0c;分出求出本身和相反数的值&#xff0c;然后相加输出&#xff0c;注意判断相反后出现0的情况 代码 #include<bits/stdc.h> using namespace std; int main() {str…

博客开通

开通博客第一天&#xff0c;纪念一下——

.NetCore Cap 结合 RabbitMQ 实现消息订阅

开源分布式消息框架 Cap 可以在GitHub上拉也可以通过nuget添加上一篇博文写了 Windows RabbitMQ的安装使用 Cap支持事务&#xff0c;通过捕获数据库上下文连接对象实现 消息事务&#xff0c;消息持久化怎么来实现消息订阅 消费&#xff1f;使用起来非常简单&#xff0c;主要通过…

SAM学习小记

前言 只是一个小记&#xff0c;不是算法详解 参考资料 史上最通俗的后缀自动机详解 广义SAM模板题解 正题 概念 定义 简单的&#xff0c;一个有向无环图&#xff0c;边有字母&#xff0c;满足起点开始的每一条路径都是原串的一个子串。 并且保证复杂度在O(n)O(n)O(n)级别内…

【DP】滑雪场的缆车(jzoj 1257)

滑雪场的缆车 jzoj 1257 题目大意 给你一座山的图&#xff08;有n个间隔相同的点&#xff09;&#xff0c;现在让你从第一个点连到最后一个点&#xff0c;一条线的两个端点的水平距离不能大于m&#xff0c;且线不能通过地面&#xff0c;最多挨着地面&#xff0c;现在问你最少…

小H和游戏

文章目录题目描述题解&#xff1a;传送时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format:%lld 题目描述 小H正在玩一个战略类游戏&#xff0c;她可以操纵己方的飞机对敌国的N座城市(编号为1~N…

Top Secret Task(dp+滚动数组)

传送门&#xff1a; 题目 dp[i][j][k] 表示 考虑到第i个数 计算前j个数的和 进行了k次操作 则有 若不把第i个数放入前j个数中 dp[i][j][k] dp[i-1][j][k] 若把第i个数放入前j个数中 至少需要把第i个移到第j个&#xff0c;即进行i-j次操作if(k > i-j) dp[i][j][k…

asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问

在 asp.net core 发布时&#xff0c;本人先后产生了3个疑问。1、发布的程序为什么不能在docker容器中运行当时在window开发环境中发布后&#xff0c;dotnet xxx.dll可以正常运行&#xff1b;但放入docker容器后就报 *.*.deps.json not found 的错误。后根据下面的文章解决了问题…

[2020.11.25NOIP模拟赛]出租车【dp】

正题 题面链接:https://www.luogu.com.cn/problem/U142298?contestId37766 题目大意 nnn个人有起点和终点&#xff0c;按顺序上车&#xff0c;但下车可以任意顺序&#xff0c;车最多同时只能载444个人。求车的最短路程。 解题思路 显然我们需要把上次上车的人&#xff0c;现…

纪中B组模拟赛总结(2019.12.21)

&#xff08;因为是两人一号&#xff0c;所以不方便显示成绩就不打了&#xff09; 总结&#xff1a; 今天竟有四道题&#xff01;&#xff01;&#xff01; T1看过之后&#xff0c;想了大概10分钟然后想了出来&#xff0c;就是一个单调栈&#xff0c;不算特别难 T2一开始想到…

水题(water)(非详细解答)

传送 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld 题目描述 其中&#xff0c;f(1)1;f(2)1;Z皇后的方案数&#xff1a;即在ZZ的棋盘上放置Z个皇后&#xff0c;使其互不攻击的方案数。…

网络流小结

最大流&#xff1a; EK算法&#xff1a; #include<iostream> #include<cstring> #include<cstdio> #include<queue> using namespace std; const int inf0x7fffffff; const int maxn10010; struct node{int u,v,f,next; }edge[300050]; int s,t,cnt,…

.NET MVC CSRF/XSRF 漏洞

最近我跟一个漏洞还有一群阿三干起来了……背景&#xff1a;我的客户是一个世界知名的药企&#xff0c;最近这个客户上台了一位阿三管理者&#xff0c;这个货上线第一个事儿就是要把现有的软件供应商重新洗牌一遍。由于我们的客户关系维护的非常好&#xff0c;直接对口人提前透…

jzoj5057-[GDSOI2017模拟4.13]炮塔【网络流,最大权闭合图】

正题 题面链接:https://gmoj.net/senior/#main/show/5057 题目大意 n∗mn*mn∗m的网格上有一些炮和敌军&#xff0c;每个炮可以攻击在它方向上一个敌军&#xff0c;但是要求炮弹的轨迹不能交叉。求最多打死多少敌军。 解题思路 我们先把炮分成两类&#xff0c;一类是横着打&a…