摘要: 传送门 解题思路 贪心+dp。首先一定是让吃的慢的先吃这是很显然的,所以按照b[i]排一遍序,然后考虑dp,设dp[i][j]表示前i个人第一个队伍的排队时间为j的最小时间,转移比较容易理解 #include<iostream> #include<cstdio> #include<cstring> 阅读全文
posted @ 2018-09-20 20:37 Monster_Qi 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 和以前做的一道题比较像,贪心+dfs,首先用一个优先队列,将所有的叶节点存到优先队列里,每次找到一个深度最大的,向上扩展2*2+1个节点,这些点都打上标记,然后把向上第6个点的当做叶节点继续放入优先队列,直到所有点被遍历。时间复杂度O(nlogn)。 #include<iostre 阅读全文
posted @ 2018-09-20 19:40 Monster_Qi 阅读(144) 评论(2) 推荐(0) 编辑
摘要: 传送门 解题思路 平衡树,支持插入,删除,找前驱后继,set水过。 #include<iostream> #include<cstdio> #include<cstring> #include<set> using namespace std; const int MAXN = 50005; inl 阅读全文
posted @ 2018-09-20 19:26 Monster_Qi 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 好多大佬用的dp啊,貌似贪心可以做,每次所选的一定是每个连续递增或递减序列的最后,直接模拟就行了,注意判断一下头和尾相等的情况。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us 阅读全文
posted @ 2018-09-20 15:27 Monster_Qi 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 比较简单的模拟题,转圈一定有一个循环节,而且循环节长度一定小于m,因为循环节是一个%m的剩余系,然后一遍模拟记录下来循环节,快速幂即可。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> 阅读全文
posted @ 2018-09-20 15:09 Monster_Qi 阅读(148) 评论(0) 推荐(0) 编辑