08 2019 档案

摘要:T1 [树状数组,线段树] 暴力O(nm)->60pts Noip2018:ans = sigma{max(0,a[i+1]-a[i])}; 令b[i+1] = a[i+1]-a[i]; 区间增加(l,r)只会影响端点(l or r)的b[i]值。 考虑用树状数组维护答案。 开两个树状数组,一个记录 阅读全文
posted @ 2019-08-19 21:03 ve-2021 阅读(158) 评论(0) 推荐(0)
摘要:昨晚没休息好,今天不是犯困就是想一些奇奇怪怪的事情。 定个小目标,在校期间就不要十一点半以后睡觉了。 T1 [树状数组] 每次交换相邻的两张卡片,将序列排成先增后减的序列,问最小交换次数。 枚举每个数作为中间数。不中间数一定是最大的那个。 如果要将一个序列排成递增序列,那么只需求出逆序数即可。 如果 阅读全文
posted @ 2019-08-18 22:14 ve-2021 阅读(184) 评论(0) 推荐(0)
摘要:T1 [数学] 期望得分:100 先通分,求出分子的最小公倍数,再讨论跟共同的分母B*D的关系即可。 【code】 #include<bits/stdc++.h> using namespace std; #define ll long long #define File "tile" inline 阅读全文
posted @ 2019-08-18 18:45 ve-2021 阅读(156) 评论(0) 推荐(0)
摘要:T1 [模拟] 找循环节直接模拟即可。 【code】 #include<bits/stdc++.h> using namespace std; #define ll long long #define File "rps" inline void file(){ freopen(File".in", 阅读全文
posted @ 2019-08-17 11:11 ve-2021 阅读(143) 评论(0) 推荐(0)
摘要:T1 [前缀和,差分] 求二维前缀和然后大概差分一下就好了? 【code】 #include<bits/stdc++.h> using namespace std; #define ll long long #define File "wireless" inline void file(){ fr 阅读全文
posted @ 2019-08-16 15:48 ve-2021 阅读(125) 评论(0) 推荐(0)
摘要:T1 [贪心] 按照等待时间排序,然后记录最大不满意度即可。->复杂度正确O(nlogn),正确性未知。 可以考虑跟全排列的暴力拍一拍。数据好造。暴力好写。 再想5分钟O(n^2)的做法->想不出来。 一遍过小样例和大样例。突然不想拍。写完后面的题再拍。。 今日rank1选手被这题卡了ak哈哈哈。。 阅读全文
posted @ 2019-08-15 21:39 ve-2021 阅读(138) 评论(0) 推荐(0)
摘要:T1 [dp] 以时间为关键字先排序。 F[i]表示到t[i]时刻,并且尽量拦截对应的子弹,最多可以拦到几发子弹,在自身没有死掉的情况下。如果向后转移时,前面多个点可以拦截的子弹数目都相同,那么选择时间最靠后的一个。 注意有些子弹根本无法拦截,所以初值赋值为极小值。 If(D(i,j) <= t[j 阅读全文
posted @ 2019-08-14 18:35 ve-2021 阅读(132) 评论(0) 推荐(0)
摘要:T1 [二分] 期望得分:70 实际得分:10 枚举最高的高度可能为多少+二分。O(logm) 枚举最高高度应该位于哪一列上.O(n) 左右扩散枚举出需要用的积木总数,与m相比较。 容易发现合法的高度的最高值,最终需要搭建一个金字塔。 1,3,5,7… 正解是预处理出每一列作为最高列的左右边界。 然 阅读全文
posted @ 2019-08-12 20:30 ve-2021 阅读(170) 评论(0) 推荐(0)