ARC068E - Snuke Line】的更多相关文章

原题链接 题意简述 给出个区间和.求对于任意,有多少个区间包含的倍数. 题解 考虑怎样的区间不包含的倍数. 对于的倍数和,满足的区间不包含任何的倍数. 于是转化为二维数点问题,可以用可持久化线段树解决.把区间视作一个横坐标为,纵坐标为的点,则等价于点在矩形内部. 时间复杂度. Code //Snuke Line #include <cstdio> #include <algorithm> inline char gc() { static char now[1<<16]…
Portal -->arc068E (温馨提示:那啥..因为各种奇怪的我也不知道的原因这题的题号在某度上面显示出来是agc007F...然而下面是arc068E的题解qwq给大家带来不便之处真是抱歉qwq) Solution ​  真实智力康复== ​  考虑一个区间是否能够对\(d\)有贡献,两个关键点: 1.如果区间长度\(>=d\),那么必定包含一个\(d\)的倍数,有贡献 2.如果区间长度\(<d\),那么要么没有贡献,要么只会包含一个\(d\)的倍数 ​  没了Q^Q ​  一…
BUPT2017 wintertraining(15) #9A 题意 有n个纪念品,购买区间是\([l_i,r_i]\).求每i(1-m)站停一次,可以买到多少纪念品. 题解 每隔d站停一次的列车,一定能买到购买区间的长度≥d的纪念品. 长度比d小但包含了d的倍数的纪念品也可以买到. 所以,如果按长度给纪念品排序,用树状数组维护长度小于当前d的购买区间,那么就可以很快求出每个停靠点(d的倍数)有多少个长度不超过d的纪念品了. 代码 #include <cstdio> #include <…
Description 传送门 Solution 假如想直接YY对于每一个d会有多少种商品满足条件,em反正我搞不定. 然后大佬的题解告诉我说:搞不定?那就不搞它啊,反过来不就得了? 好吧.我们来考虑对于每一个d,会有多少种商品无法购买. 我们目前有一些点,组成的集合为(0,d,2d,3d,.....kd)(kd<=m),车子会在这些点停下来. 无法购买的商品i,必定满足li,ri在某两个相邻点之间,也就是说,可以购买的商品,必然会跨过若干个点. 然后还有一个性质:对于d,所有ri-li>=d…
首先要知道 (m/1 + m/2 + ... + m/m) 约为 mlogm 还有一个比较明显的结论,如果一个纪念品区间长度大于d,那么如果列车的停车间隔小于等于d,则这个纪念品一定能被买到 然后把区间按长度排序 枚举d,边枚举边加那些长度小于d的区间到线段树当中,这样可以保证一个纪念品不会被加2次 最后输出答案即可 #include <iostream> #include <algorithm> using namespace std; *; namespace seqtree…
题目传送门:https://arc068.contest.atcoder.jp/tasks/arc068_c 题目翻译 直线上有\(0-m\)这\(m+1\)个点,一共有\(m\)辆火车.第\(i\)辆火车只会在\(i\)的倍数点上停靠,所有车都从\(0\)号点出发. 一共有\(n\)个商品,第\(i\)个商品只会在\(l_i-r_i\)号点出售,问你对于每辆火车,在可以停靠的站里,可以买到的商品种类数. \(m\leqslant 10^5,n\leqslant 3*10^5\). 题解 对于长…
题意: 有n个区间,询问对于$1\leq i\leq m$的每个i,有多少个区间至少包含一个i的倍数? $1\leq N\leq 3\times 10^5$ $1\leq M\leq 10^5$ 题解: 开始就想到了调和级数的复杂度,但是一直没想到反着统计... 正着统计区间是否包含$i$的倍数很麻烦,不妨反过来统计是否不包含,那么不包含的情况肯定是区间卡在两个$i$的倍数之间或者在$\lfloor\frac{m}{i}\rfloor\times i$和$M$之间,用调和级数的时间复杂度可以把所…
心态崩了的一天 先Orz yrx 开场五分钟yrx大吼一声:“这B题不是原题吗” hjw:“对哦好像我也做过哦” 过了十分钟yrx又大吼一声:“这C题我也做过啊,洪水那题啊” 于是 像我这种傻逼A题一看就不会,C题一看就不会,B题推了半场才搞出来真的凉凉 然而并没有结束 standing出来成绩14(puts("-1"))+64(100)+0=78,再次喜提FST.一看RE果断开大数组交上去,Accepted. 心态已经崩没了 玄妙的事情从下午开始 改T3调到一半硬盘挂掉了,可识别无法…
一句话题解 因为上篇AGC的写的有点长……估计这篇也短不了所以放个一句话题解方便查阅啥的吧QwQ 具体的题意代码题解还是往下翻…… ARC 058 D:简单容斥计数. E:用二进制表示放的数字,然后状压$DP$. F:$biset$优化$DP$预处理,乱搞贪心. ARC 059 D:傻题,存在长的合法子串就一定会存在短的. E:前缀和优化$DP$. F:每个长度为$len$的串出现的概率是相同的,求到长度为$len$的方案数然后除$2^{len}$. ARC 060 D:对$b$分大于根号和小于…
ARC 068 C - X: Yet Another Die Game 显然最多的就是一次6一次5 最后剩下的可能需要多用一次6或者6和5都用上 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space putchar(' ') #define enter p…