显然,对于所有跨度暴力扫一遍的复杂度本身只有\(O(n \log n)\). 容易想到在每一个到达的位置加上覆盖这个位置的区间数.剩下的问题就在于如何处理覆盖了多个位置的区间. 记录已访问或去重都是难以实现的.但注意到一个性质: 所有长度不小于跨度的区间一定都能被访问到,所有长度小于跨度的区间至多访问一次. 于是我们枚举跨度,维护长度不小于当前跨度的区间数,把长度小于当前跨度的区间加入到一个支持区间加和单点查询的数据结构里就可以了. 时间复杂度\(O(n \log ^2 n)\). #inclu…
ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long long或__int64型(两个下划线__). 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数. printf("%I64d",a); printf("%l…
SDOI2016 R1做题笔记 经过很久很久的时间,shzr终于做完了SDOI2016一轮的题目. 其实没想到竟然是2016年的题目先做完,因为14年的六个题很早就做了四个了,但是后两个有点开不动... 那么就顺着开始说: 储能表:https://lydsy.com/JudgeOnline/problem.php?id=4513 题意概述:给定一张大表格,i行j列的数是 $i$ $xor$ $j$,多组询问,求 $\sum_{i=0}^{n-1}\sum_{j=0}^{m-1}max((i \b…
因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( #include<bits/stdc++.h> using namespace std; #define ll long long #define rp(i,x,y) for(register ll i=x;i<=y;++i) +; ll n,d[N],ans; inline ll read…
POI2011 Conspiracy (2-SAT) Description \(n\leq 5000\) Solution 发现可拆点然后使用2-SAT做,由于特殊的关系,可以证明每次只能交换两个集合中的一个元素,或者改变一个元素的位置,然后分类讨论即可. 注意特判集合为空的情况. POI2011 Lollipop (YY) Description \(n,m\leq 1000000,q\leq 2000000\) Solution 挖掘题目性质,由于只存在1,2.所以对于一个端点为1的线段,…
嘿嘿,偷学一波! 由于博主做的题比较少,所以没按年份整理,直接按照做题时间放上来了. 2020年9月20日 [POI2013]LUK-Triumphal arch 给你一颗\(n\)个点的树(\(n\leq300000\)),1号节点已被染黑,其余是白的,两人轮流操作,一开始B在1号节点,A选择\(k\)个点染黑,然后B走一步,如果某一时刻B能走到A没染的节点则B胜,否则当A染完全部的点时,A胜.求能让A获胜的最小的\(k\). 比较容易想到的错解是计算每一个点及祖先的出度作为染色总数. 但这样…
CF1416D 做题心得 上次在某trick中提到了这个题,一开始觉得太毒瘤没有写,现在把它补上了. 感觉实现这个东西,比单纯收获一个trick,收获的东西多太多了. 主要思路 它的主要trick是"反向反向操作日神仙",也就是,先删掉所有边,反过来做一遍,然后再用撤销的方式正过来再做一遍. 思路的框架就是,先把边都删掉,然后做一个Kruskal重构树.Kruskal重构树有一个性质就是,每一个子树都和某时刻的某联通块对应. 而我们在删边的过程中,每一个点对应的联通块就相当于,先把所有…
最近写的文章好像还很多的.那么今天我们来讨论NOIP初赛的题型--完善程序.完善程序相对是比较难的题目了.全卷100分,完善程序占了大概26分,占比非常大.如果和英语考试试卷做比较,相当于首字母填空(估计是很多人的噩梦).这类题型难度很大.本文讲一下做类似题目的方法. 不过首先,需要足够的知识储备,不然再多技巧也没用. 第一步:看提示,提示往往有很大的作用. 举例:NOIP2016第一题. 完善程序: **(读入整数)**请完善下面的程序,使得程序能够读入两个 int 范围内的整数, 并将这两个…
C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序.字处理程序.游戏.操作系统等.它不仅是更高级语言(如C++) 的基础,目前还以Objective C的形式开发手机应用程序.目前,C语言最新版本由ISO/IEC 9899:2011 文档定义.           数据结构+算法=程序 1.1 C程序和程序设计 (1…
C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事.并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序.字处理程序.游戏.操作系统等.它不仅是更高级语言(如C++)的基础,目前还以Objective C的形式开发手机应用程序.目前,C语言最新版本由ISO/IEC 9899:2011 文档定义.           数据结构+算法=程序 1.1 C程序和程序设计 (1)以下…
原题链接 题意简述 给出个区间和.求对于任意,有多少个区间包含的倍数. 题解 考虑怎样的区间不包含的倍数. 对于的倍数和,满足的区间不包含任何的倍数. 于是转化为二维数点问题,可以用可持久化线段树解决.把区间视作一个横坐标为,纵坐标为的点,则等价于点在矩形内部. 时间复杂度. Code //Snuke Line #include <cstdio> #include <algorithm> inline char gc() { static char now[1<<16]…
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-11-to-20.html UPD(2018-11-16): 改个标题再弃坑. 发现 EF 这种神仙题根本做不动,这次做题顺序我要改一改了…… 咕咕咕 AGC011F AGC012F AGC013D AGC013E AGC013F AGC014E AGC014F AGC015E AGC015F AGC017F AGC011 B 简单题. #include <…
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-1-to-10.html 考虑到博客内容较多,编辑不方便的情况,我决定把做题小记拆开写. 题解中的低级错误请指出,但是由于这里写的都是简要题解,所以具体细节就不要问我了. 咕咕咕 AGC009E 突然发现 AGC001F 怎么没做 AGC001 D 出现奇数的个数大于2时一定无解(构造图,从图的连通性方面考虑).然后,如果有奇数,把他们放到头尾,然后 b 数…
刚学了Dinic就开始做题,然后就崩了. 题意:若干个任务,可以放在两个CPU中任意一个上完成,各有一定代价.其中又有若干对任务,如果它们不在同一个CPU上完成,会产生额外代价.最小化并输出代价. 一开始的想法是吧一个任务拆开成两个点(受2-sat的影响),然后就发现自己没法做了.首先,需要保证由同一个任务拆成的两个点只流过一个,这就会使最大流变成费用流.(我不会费用流)其次,难以满足第二个要求.后来一想,网络流与2-sat建图的区别在于网络流的状态表现在边的流量上(是否满流),而2-sat表现…
题目描述 ------------------------------------------------------------------------------------------------------------------------------------------- 正常题解: 特别的做题技巧 我们一上来,先写一个打表程序,打出一系列n,m对应的答案. 我们发现,对于素数n,m 他们的答案总是(n-1)*n*(m-1)*m. 一开始,我们先稳了一个素数的情况,起码也得有20…
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车往右开,只要没走到最左边,最后也要折回左边,所以不如先走完左边然后直接过来.左边<右边一样. 然后递归下去变成了一个子问题,可以看做一边的票数+=另一边,然后删除另一边. AGC023 E 考虑枚举两个位置\(i,j\)计算这两个位置产生逆序对的排列数量. 如果\(A_i=A_j\)很好算,方案数都是对…
退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) 余\(r\)的方案数,直接矩乘优化. [六省联考2017]相逢是问候 \(c^x\mod p=c^{x\mod \varphi(p)+\varphi(p)}\mod p(x>p)\) \(\varphi\)跳\(\log\)次就会跳到\(1\). 用欧拉定理时取膜这么写:int Mod(ll a,i…
csp退役前的做题计划1(真) 因为我太菜了,所以在第一次月考就会退役,还是记录一下每天做了什么题目吧. 任务计划 [ ] Z算法(Z Algorithm) 9.28 [x] ARC061C たくさんの数式 / Many Formulas [x] ARC061D すぬけ君の塗り絵 / Snuke's Coloring [x] ARC061E すぬけ君の地下鉄旅行 / Snuke's Subway Trip [x] ARC061F 3人でカードゲーム / Card Game for Three […
最近几天打算认真复习LCT,毕竟以前只会板子.正好也可以学点新的用法,这里就用来写做题笔记吧.这个分类比较混乱,主要看感觉,不一定对: 维护森林的LCT 就是最普通,最一般那种的LCT啦.这类题目往往就是用LCT维护森林,从而快速的实现一些链上操作:其中,某些题只是维护一棵形态固定的树,用树剖也可以做,复杂度 $n\log^2n$,如果使用LCT则变成了 $n\log n$:有的题目涉及断边连边,就必须使用LCT了.这次复习做的前几道题都属于这种,这几道题的难点其实不在LCT上,只要会敲模板就O…
FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题目要求,所以这种情况要特殊考虑)考虑一个修改操作对一个询问的影响,分为以下几类: (1) 区间不包含任何一个点,这种情况对答案没有影响. (2) 区间只包含其中一个点,这种情况有\(1/len\)的概率影响答案 (3) 区间同时包含两个点,这种情况有\(2/len\)的概率影响答案. 这个时候我们把…
NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉就真的要滚大粗退役回去念书了QAQ.于是有了压力就来刷(水水水)题.感觉校内OJ的题库还挺多的就开始做校内OJ的题.(本校的其他神犇都在其他各种OJ上屠丧题我感觉好虚啊!)于是把这几年NOIP的原题拿出来做了下. (我蛮立个flag:如果NOIP过了就买BZOJ权限号...) 历年NOIP提高组一句…
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在网上看到可以在url前面插入view-source:来查看网页源代码 第二题 get_post 题目描述点明了该题要用到关于http的两种请求方式,那么就要学习一下http的几种请求方式. 查阅各种博客之后,发现get的请求方式直接在url框内输入就好,而post的请求方式需要用其他方式写入参数,有…
队列的例题和总结 0. 目录 栈实现队列 队列实现栈 滑动窗口最大值 1. 栈实现队列 FIFO和FILO,相当于+-号,互转都是利用"负负得正"的原理. 官方解答中第二种思路很6,按需反转,这样摊还分析下来,复杂度变成了O(1) class MyQueue { private: stack<int> s1; stack<int> s2; public: /** Initialize your data structure here. */ MyQueue()…
[JSOI2019]节日庆典 做题心得 一个性质有趣的字符串题 这要是在考场上我肯定做不出来吧 一开始还以为要 SAM 什么的暴力搞,没想到只用到了 \(Z\) 函数 -- 也是我生疏了罢 (学了啥忘了啥,这可怎么去wc啊啊啊 思路 考虑维护候选集合 \(S\),表示这个位置 可能 是最优位置. 假设我们可以知道 \(S\),拿 \(Z\) 函数求一下 \(LCP\) 就可以知道是不是最优的了. 大胆猜测一个性质,要么可以快速的找 \(S\) 中最小的位置,要么 \(S\) 的大小不会很大,可以…
SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模板]后缀自动机 (SAM) 题意简述:求一个字符串 \(s\) 的所有子串长度乘上其出现次数的最大值. 代码还没写过,到时候来补一下. update:尝试只看自己的博客写出代码,然而失败了 >.< update:好家伙,第二次跳 \(p\) 的时候(即把 \((p_i,q)\) 变为 \((p_i…
第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年份,请参考本章附录. 附录 历届世界杯冠军 届数 举办年份 举办地点 冠军 第一届 1930年 乌拉圭 乌拉圭 第二届 1934年 意大利 意大利 第三届 1938年 法国 意大利 第四届 1950年 巴西 乌拉圭 第五届 1954年 瑞士 西德 第六届 1958年 瑞典 巴西 第七届 1962年…
关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下: 1.写一个类继承spring的ApplicationListener监听,并监控ContextRefresh…
UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好了> > 只需要统计能缩出多少tab,而这个显然可以前缀和扫扫罗干罗干就好了> > 无爱地刷rank> > #include <cstdio> #define fon(i,s) for(ul i=0;i<s; ++i) #define foxe(i,f,t…
当在Codeforces上做题的时,有时会无意撇到右侧的Problem tags边栏,但是原本并不希望能够看到它. 能否把它屏蔽了呢?答案是显然的,我们只需要加一段很短的CSS即可. span.tag-box{ display: none; } 这样,当这段CSS生效时,标签将会变成如下所示的样子. 这样目的就达到了. 那么,如何将CSS应用到浏览器中使其生效呢?对于不同的浏览器有不同的方法.下面以主流浏览器为例. 对于Safari,将上述代码另存为.css文件,然后在偏好设置->高级->样式…
写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛出了道杜教筛) 然后白天就脑补了几道 积性函数 把例题过了一遍 Submit_Time 1696174 wohenshuai 2154 Accepted 245432 kb 10556 ms C++/Edit 1152 B 2016-11-08 16:50:10 1695614 wohenshuai…