- 博客(112)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 关于将博客搬家至博客园的声明
囿于众所周知的、昭然若揭的简单原因,博主现已不能忍受CSDN铺天盖地的广告行为和恬不知耻的圈钱行为(当然还因为它有点丑),故将博客搬至博客园。但我不会把原来写过的博文搬过来,因为博客园自带的那个搬家拷不过来图片。这是我的新博客地址:https://www.cnblogs.com/Iking123/...
2019-07-11 19:56:26
423
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 C++运算符优先级
前言了解这东西非常重要,可以有效防止我们因优先级而犯的傻逼错误(比如想打2n−12n−12^n-1,但习惯了Pascal的1 shl n-1,打C++的时候就打成了1<<n-1)。当然,深谙优先级,有助于我们压代码,少打括号;同时也能更好地理解那些喜欢压代码的人的程序。正文声明:下表co自百度百科。OperatorDescriptionExample...
2018-09-08 11:43:08
281
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 CSDN-markdown编辑器语法——字体、字号与颜色
注:本文转自https://blog.csdn.net/testcs_dn/article/details/45719357。 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。但是它本身是不支持修改字体、字号与颜色等功...
2018-07-09 20:43:30
231
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 1分钟教你学会手打对拍程序
前言 众所周知,对拍程序很有卵用,可以帮你判断出你那又丑又长||极易打错||正确性未知的代码是对是错。 However,我之前做模拟赛时基本上不打对拍,全靠肉查。(虽然说我学过)但是鉴于明天GDOI,我还是重温一遍。 声明:这篇博客参考自这篇博客。对拍 对拍就是帮你把数据生成器和两个程序有机结合,然后判断那两个程序的答案是否相同。 首先,新建一个.txt文件,...
2018-04-28 22:06:07
562
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 C++的各种优化
前言 众所周知,有一些可(bian)爱(tai)的题单纯使用那些算法会T,所以需要用一些神奇的优化。读入优化 既用过pascal,又用过c++的选手们都可以感受到知道,c++虽然快,但它的读入scanf()慢得一匹,cin>>就更不必说了。所以,在输入数据≥10610610^6的情况下,程序运行的时间基本上都在读入上了…… 所以,有没有可能让c++掌握pasc...
2018-04-25 21:54:32
4445
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 C++STL标准模板库函数之——sort、swap、unique、lower_bound、upper_bound学习小记
前言 我发现C++的STL库中除了sort、swap以外还自带很多实用的函数,而我转C++了这么久竟然不知道,(全都因为我之前是pascal选手)真是弱。 这里将它们做一个总结。sort sort这个函数是c++自带的快排函数,所以c++选手可不用手打快排(虽然也很好打)。具体操作如下:#include <algorithm>//头文件int a[N...
2018-04-18 18:13:04
1437
1
原创 【JZOJ6242】【NOI2019模拟2019.7.1】刀剑传奇(容斥+高维前/后缀和)
Description给定N(≤5×105)N(≤5\times10^5)N(≤5×105)个长度为20的01串,每次可选择其中恰好KKK个。Q(≤5×105)Q(≤5\times10^5)Q(≤5×105)个询问,每个询问表示为一个长度为20的01串,若其某一位为1则选择的KKK个串中至少要有一个的该位为1。求方案数。Solution考虑容斥。设f[i]f[i]f[i]表示选择了K...
2019-07-02 21:51:52
747
原创 【JZOJ6233】【NOI2019模拟2019.6.27】心的旋律(思维题)
Description对于一个两边各有nnn个点的二分图的左边一个点集AAA,定义F(A)F(A)F(A)为右边至少和AAA中的一个点相邻的点的集合。给定一个KKK,要求构造一个二分图,使得对于所有点集AAA,∣F(A)∣<∣A∣|F(A)|<|A|∣F(A)∣<∣A∣有恰好KKK次成立。Data Constraintn≤32,K∈[0,2n]n≤3...
2019-06-27 20:38:05
373
原创 左偏树&二项堆&斐波那契堆
左偏树定义左偏树(leftist tree 或 leftist heap),又被成为左倾堆、左偏堆,最左堆等。左倾树是一棵二叉树,它的节点除了和二叉树的节点一样具有左右子树指针外,还有两个属性:键值和零距离。(01) 键值的作用是来比较节点的大小,从而对节点进行排序。(02) 零距离(英文名NPL,即Null Path Length)则是从一个节点到一个"最近的不满节点"的路径长度。不满节点...
2019-04-05 16:06:50
900
1
原创 PPM文件的正确打开方式
前言某一天作比赛,碰到一道题答题,而且它的输入格式还是这样:PPM是个甚么东西?本蒟蒻表示听都没听说过╮(╯▽╰)╭某%d%a%l%a%o%告诉我们:https://blog.csdn.net/kinghzkingkkk/article/details/70226214另一位%d%a%l%a%o%告诉我们:https://blog.csdn.net/gengshenghong/arti...
2019-01-30 20:26:16
18696
5
原创 计算几何专题
4065. 【JSOI2015】投影面积(light)Description给定N(≤10)条线段,线段分为不反光(光线射入后会被吸收)、双面反光(反射角等于入射角)。在所有线段上方有一条不反光的长线段。从原点按给定角度射出光束。求长线段被照亮的区域占其长度的比率。数据保证:坐标为绝对值不超1000的整数;所有线段不交,不经原点;对于一条光线,在其消失或被吸收之前,至多反射30次。答案保...
2019-01-30 17:12:46
283
原创 斯特林数小结(update gradually...)
概念斯特林数(Stirling number)是由18世纪数学家James Stirling提出的两类数。第一类:轮换数,将n个数排成k个非空的环(圆排列,有序)的方案数,用s(n,m)s(n,m)s(n,m)或[nk]\left[ \begin{matrix}n\\k\end{matrix} \right][nk]表示。还分为无符号第一类斯特林数su(n,m)s_u(n,m)su(n,...
2019-01-28 08:07:27
312
原创 【JZOJ2700】【GDKOI2012模拟02.01】数字
DescriptionT组询问。Data ConstraintSolution先说一个结论:D(n)=(n−1) mod 9+1D(n)=(n-1)\ mod\ 9+1D(n)=(n−1) mod 9+1。证明如下:首先,快速判断一个大数n是否为9的倍数有一个黑科技:那就是将其每个位数相加,判断得到的和是否为9的倍数。(即判断S(n)是否...
2018-12-26 21:03:25
205
原创 NOIP2018翻车记
Day0这天运动会,还要参加开幕式有点烦。蹭完了家长送的美食后,来到机房。刷了点水题,复习了一波双联通分量。下午六点左右从纪中出发,八点多到酒店。晚上腐手机,叫了两次外卖。没有开会也正常。Day1早上6:30准时起床,早餐海星……然而司机捕星……8:00左右才出发,8:15到六中……8:20开始试机,但我好像8:25才进考场……于是什么都没来得及打,调完一个a+b就发密码了……...
2018-11-16 21:26:52
338
原创 【JZOJ5803】【2018.8.12省选模拟】girls(容斥+乱搞+三元环计数)
Description给定n个点,m对冲突(如点x与点y有冲突)。要求选不冲突的三个点i、j、k。三元组(i,j,k)(i,j,k)(i,j,k)贡献为A∗i+B∗j+C∗kA*i+B*j+C*kA∗i+B∗j+C∗k。求总贡献。n,m≤2∗105n,m≤2*10^5n,m≤2∗105。Solution正难则反,考虑容斥。记fif_ifi表示至少存在i对冲突的总贡献,则Ans...
2018-11-03 17:51:36
307
原创 【JZOJ5947】【NOIP2018模拟11.02】初音未来(miku)(逆序对排序+线段树)
DescriptionHercier作为一位喜爱Hatsune Miku的OIer,痛下决心,将Vocaloid买回了家。打开之后,你发现界面是一个长为n的序列,代表音调,并形成了全排列。你看不懂日语,经过多次尝试,你只会用一个按钮:将一段区间按升序排序。不理解音乐的Hercier决定写一个脚本,进行m次操作,每次对一段区间进行操作。可惜Hercier不会写脚本,他找到了在机房里的你,请你模拟...
2018-11-02 16:25:27
314
原创 【JZOJ5894】【NOIP2018模拟10.5】同余方程(容斥+计数问题+类数位DP)
ProblemSolution首先,考虑类似差分的容斥。设fa,bf_{a,b}fa,b表示x在[0,a-1]范围内,y在[0,b-1]范围内的答案。则原Ans=fr1+1,r2+1−fl1,r2+1−fr1+1,l2+fl1,l2Ans=f_{r_1+1,r_2+1}-f_{l_1,r_2+1}-f_{r_1+1,l_2}+f_{l_1,l_2}Ans=fr1+1,r2+1−f...
2018-10-05 20:58:06
246
原创 【JZOJ5870】【NOIP2018模拟9.15】地图 (递推+DP+组合数学)
ProblemHintSolution首先,图中只会存在链和环。记图中有one个度数为1的点,two个度数为2的点。囿于每条链有两个度数为1的点(链的两端),链的数量是确定的:one2one2\frac{one}2。这时,我灵(nao)光(zi)一(wa)闪(te),想到了一个优(sha)美(bi)的方法。我的SB方法:递推+组合数学+容斥观察到链和环...
2018-09-15 17:25:15
366
原创 【JZOJ5871】【NOIP2018模拟9.15】挑战(线段树+线段树二分)
ProblemHintSolution首先,我们先求出未操作时的ans。对于一个令Px=yPx=yP_x=y的操作,显然,若ans<x,则ans不变;否则,ans应为区间[x,n]中某一点。设ans当前在位置t,观察一下它会如何变化。记pre=∑ti=1Pipre=∑i=1tPipre=\sum_{i=1}^t P_i,若pre=2Pipre=2Pip...
2018-09-15 17:04:37
290
原创 线性基学习小记
定义基:在线性代数中,基(也称为基底)是描述、刻画向量空间的基本工具。向量空间的基是它的一个特殊的子集,基的元素称为基向量。向量空间中任意一个元素,都可以唯一地表示成基向量的线性组合。如果基中元素个数有限,就称向量空间为有限维向量空间,将元素的个数称作向量空间的维数。同样的,线性基是一种特殊的基,它通常会在异或运算中出现,它的意义是:通过原集合S的某一个最小子集S1使得S1内元素相互异或得...
2018-09-10 21:29:49
623
原创 欧拉函数详解
前言关于这东西,我们都是几百年前就接触了。虽然说这东西现在看来很简单了,但是有些公式的证明也不简单,在此做个详解。定义在数论,对正整数n,欧拉函数(Euler’s totient function)是小于或等于n的正整数中与n互质的数的数目。严谨地,φ(n)=∑ni=1δgcd(i,n)1φ(n)=∑i=1nδgcd(i,n)1\varphi(n)=\sum_{i=1}^...
2018-08-25 17:33:00
1163
1
原创 【JZOJ4732】【NOIP2016提高A组模拟8.23】函数(线筛求欧拉函数+Pollard_Rho大数分解)
Problem定义一个函数f(x),定义域和值域均为N∗N∗N^*,且满足∑d|nf(d)=n∑d|nf(d)=n\sum_{d|n} f(d)=n。现给定N个幸运数字A1,A2,...,AnA1,A2,...,AnA_1,A_2,...,A_n,求∑ni=1f(Ai)∑i=1nf(Ai)\sum_{i=1}^n f(A_i)。HintSolution解谜f(x)...
2018-08-25 16:56:28
275
原创 Pollard_Rho大数分解学习小记
前言该算法用于对大数进行质因子分解。它的核心思想是:对于一个数N,若N不为质数,设N=c*d(c、d均大于1),我们找到一个c,递归分解c和d。生日悖论一个班有k个同学,至少有两名学生的生日是同一天的概率P是多少?正难则反,考虑容斥。P=1-任意两名学生的生日都不同的概率。k=1,P=0k=1,P=0k=1,P=0k=2,P=1−1∗364365k=2,P=1−1∗3...
2018-08-24 16:50:02
776
1
原创 Miller_Rabin素性测试学习小记
问题给出一个正整数n,判断它是不是质数。有一个简单暴力的方法:试除法,从2枚举到n−−√n\sqrt n,如果有一个数能整除n,则表明n为合数。但这么做的时间复杂度是O(n−−√)O(n)O(\sqrt n)的,当n的规模达到1016101610^{16}甚至更高时,基本上就会跑1s以上了。有什么更快的方法?费马小定理通过费马小定理我们知道,对于一个质数p,有:ap−1≡1...
2018-08-24 14:40:50
744
原创 【JZOJ5840】【省选模拟2018.8.22】Miner(思维+欧拉回路)
Problem 给定一张n(≤105)n(≤105)n(≤10^5)个点、m(≤105)m(≤105)m(≤10^5)条边的无向图(可能存在自环和重边,图可能不连通)。小C可任选起点开始,进行以下操作的一个:0 v,选择一条相邻的还未经过的边走到v1 v,传送到点v小C要走一个欧拉路径。求最小传送次数,并给出一种方案。Solution先考虑如何求答案(最少添加多少条边...
2018-08-22 20:02:26
226
原创 【JZOJ5836】【省选&A组模拟2018.8.21】Sequence(DP+贪心+矩阵乘法优化)
ProblemHintSolution算法I:dfs+DP考虑一下暴力怎么做。我们可以O(km)O(km)O(k^m)暴力dfs出后面填的m个数。此时,问题就转化成了快速计算一个序列本质不同的子序列个数。考虑DP。设f[i][j]表示前i个数,以j这个数值结尾的方案数。假设第i位为x,则对于∀j≠x,f[i][j]=f[i−1][j]∀j≠x,f[...
2018-08-21 19:57:20
245
原创 【JZOJ4424】【HNOI2016模拟4.2】道路(DP+组合数学+二项式展开)
Problemn(≤50)个点,初始时没有边。要建造若干边,使得其联通。对于一个方案,若其有k条边,对答案贡献为k2k2k^2。Solution首先,假设对答案贡献为k0k0k^0怎么做(即求方案数)。设f(n)表示n个点,要求联通的方案数;设g(n)表示不要求联通的方案数。显然有:g(n)=2C2ng(n)=2Cn2g(n)=2^{C_n^2}。考虑容斥。f(n)=...
2018-08-20 22:37:28
179
原创 【JZOJ4419】【GDOI2016模拟4.2】hole(四~三维偏序问题)
Problem给出n次事件,每次事件给出三个非负整数x,y,d。d=0表示在点(x,y)打了一个洞;否则表示询问由(x,y),(x+d,y),(x,y+d)三点围成的三角形中洞的个数。Hint30%的数据n&amp;lt;=3333 。 另30% 的数据 GFS只会在DSJ打完洞后才开始询问,xi,yi&amp;lt;=333333 。 100%的数据 1&amp;lt;=n&amp;lt;=88888,...
2018-08-20 21:50:22
395
原创 Codeforces 662C Binary Table(快速沃尔什变换)
Problem给定一个n(≤20)*m(≤100 000)的01矩阵,每次操作可以将一行或一列取反。求最终1的最少个数。Solution前置技能:快速沃尔什变换(FWT)。观察到n较小,考虑O(2n)O(2n)O(2^n)枚举每一行选或不选。不妨设f(x)表示行的操作状态为x时(我们可用一个二进制数表示状态),经过各种列操作后所得到的最少的1的个数。可以O(m)O(m...
2018-08-17 22:39:13
265
原创 快速沃尔什变换——FWT学习小记
用途FWT主要解决这样的问题,给出A(x),B(x),求Ck=∑i⊗j=kAjBkCk=∑i⊗j=kAjBkC_k=\sum_{i\otimes j=k}A_jB_k,其中⊗⊗\otimes表示and(按位与)/or(按位或)/xor(按位异或)运算中的一种。定义首先,A(x)可以表示成一个n维向量(a0,a1,...,an−1)(a0,a1,...,an−1)(a_0,a_...
2018-08-17 19:50:27
620
原创 【JZOJ5821】【NOIP提高A组模拟2018.8.16】 手机信号(set/权值线段树)
ProblemHintSolution这道题就是一道考验你细节处理的题。我们用形如(l,r,v)的三元组表示一个区间的信号站,意为从l到r每隔v有一个信号站。考虑用set/权值线段树维护这些三元组。我们插入一个三元组的时候,若其与其他三元组的区间互不相交,那自然是最好滴,我们直接丢进set/权值线段树即可。不然的话,囿于他保证当前区间[l,r]中不存在信...
2018-08-16 22:47:48
276
原创 启发式合并(堆、set、splay、treap)/线段树合并学习小记
启发式合并刚听到这个东西的时候,我是相当蒙圈的。特别是“启发式”这三个字莫名的装逼,因此之前一直没有学。实际上,这个东西就是一个SB贪心。以堆为例,若我们要合并两个堆a、b,我们有一种极其简单的做法:那就是比较一下它们的大小,将小的堆的每个元素依次插入到大的堆中。不妨设|a|≤|b||a|≤|b||a|≤|b|,则时间复杂度即为:O(|a|∗log2(|a|+|b|))O(|a|∗log...
2018-08-15 21:56:42
2020
1
原创 【JZOJ5813】【NOIP提高A组模拟2018.8.14】 计算(质因数分解+DP+思维)
ProblemHintSolution这道题是妥妥的送了45points。因为100以内的数的约数个数均≤12,我们找出n的约数后,暴力dfs填数即可。时间复杂度O(σ(n)2m)O(σ(n)2m)O(\sigma(n)^{2m})。不过,满分做法还是需要一点思维的。假设我们现在的x数列满足条件I(∀i∈[1,2m],xi∈Z+,xi|n∀i∈[1,2m...
2018-08-14 15:59:04
260
原创 【JZOJ5807】【NOIP提高A组模拟2018.8.13】简单的区间(分治+RMQ+二维偏序问题)
ProblemHint对于 30% 的数据,n ≤ 3000; 对于另外 20% 的数据,数列 a 为随机生成; 对于 100% 的数据,1 ≤ n ≤ 3 × 10^5 , 1 ≤ k ≤ 10^6 , 1 ≤ ai ≤ 10^9。Solution考虑分治。对于区间[l,r],我们找出其中最大值的位置m,则可以计算出左端点在[l,m],右端点在[m,r]的合法区间数...
2018-08-13 19:36:26
444
原创 【JZOJ5798】【2018提高组】模拟A组 树 (并查集+LCA)
Problem我们有一颗从1到n编号的n(&lt;=300000)个结点的树,此外,您将从树中获得M(&lt;=300000)个节点对,形式为(a1,b1),(a2,b2),…(am,bm). 我们需要给每一条边定向,使得每一对节点对存在一条从ai到bi或从bi到ai的路径。 现在要求方案数,对10^9+7取mod即可。Solution刚看这道题,感觉很神仙。仔细分析,对于...
2018-08-12 20:16:02
662
原创 【JZOJ5796】【2018提高组】模拟A组&省选 划分(容斥+扩展中国剩余定理+扩展欧几里得)
Problem 有一个未知的序列x,长度为n。它的K-划分序列y指的是每连续K个数的和得到划分序列,y[1]=x[1]+x[2]+….+x[K],y[2]=x[K+1]+x[K+2]+….+x[K+K]….。若n不被K整除,则y[n/K+1]可以由少于K个数加起来。比如n=13,K=5,则y[1]=x[1]+…+x[5],y[2]=x[6]+….+x[10],y[3]=x[11]+x[12]...
2018-08-10 19:25:41
231
原创 【NOI2018day1】归程(最短路+kruskal重构树+并查集+倍增)
Problem 给定一个n(≤2∗105)n(≤2∗105)n(≤2*10^5)个节点、m(≤4∗105)m(≤4∗105)m(≤4*10^5)条边的无向连通图,用l(≤104)l(≤104)l(≤10^4),a(≤109)a(≤109)a(≤10^9)描述一条边的长度、海拔。 给定Q(≤4∗105)Q(≤4∗105)Q(≤4*10^5)天,每天给出出发节点v和水位线p。所有海拔**不...
2018-08-05 21:07:45
554
原创 【JZOJ3463】【NOIP2013模拟联考5】军训(training)(单调栈+二分+DP+线段树优化)
ProblemHYSBZ 开学了!今年HYSBZ 有n 个男生来上学,学号为1…n,每个学生都必须参加军训。在这种比较堕落的学校里,每个男生都会有Gi 个女朋友,而且每个人都会有一个欠扁值Hi。学校为了保证军训时教官不会因为学生们都是人生赢家或者是太欠扁而发生打架事故,所以要把学生们分班,并做出了如下要求:1.分班必须按照学号顺序来,即不能在一个班上出现学号不连续的情况。2.每个学生必...
2018-07-19 21:52:58
520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人