自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 收藏
  • 关注

原创 Concrete Mathematics 6.1 Stirling Number Identities

n1m1​k∑​kn​km​6.151−k1−k1kn​n1m1​k∑​nk​mk​6.16−m11subsets A1​A2​⋯Am1​1∈A1​. Say CAi​i​A2​CA3​⋯CAm1​∣A1​∣−1A1​A2​CA3​⋯CAm1​choose m1​k​∣A1​∣−。

2023-06-11 20:58:54 558

原创 图染色问题的NP完全性证明

首先我们引入同色边的概念,利用同色边我们可以方便的确定三种颜色中的一种,通过一个三元环确定三个颜色分别对应 T/F/O,随后利用 variable gadget 确定每一个 3-sat 变量的取值,对于每一个 clause gadget 输出的结果即三个输入的或,利用 OR gadget 实现,要求每一个 clause 的返回结果均为 true。赋值,是的一个布尔表达式的值为真,其中这个布尔表达式形如若干个 clause 的与,其中一个 clause 为三个变量(可能带非运算符)的或的形式。

2023-04-17 20:57:50 1320

原创 [NOIO #2] 游戏

首先有一个结论——二项式反演用 f(n)f(n)f(n) 表示钦定选择了 nnn 个的方案数, g(n)g(n)g(n) 表示实际选择了 nnn 个数的方案,那么有f(n)=∑i=nm(−1)n−i(in)g(i)f(n)=\sum_{i=n}^m (-1)^{n-i}\binom{i}{n}g(i)f(n)=i=n∑m​(−1)n−i(ni​)g(i)g(n)=∑i=nm(−1)n−i(in)f(i)g(n)=\sum_{i=n}^m (-1)^{n-i}\binom{i}{n}f(i)g(n)=

2020-12-03 10:03:33 216

原创 [CSP2019] 划分

link32pts用 fi,jf_{i,j}fi,j​ 表示最后一段分段为 [i,j][i,j][i,j] 的最小复杂度O(n3)\mathcal O(n^3)O(n3) 转移即可64pts观察发现,显然有当最后一段分段的大小最小的时候答案是最优的,所以记录大小最小的大小以及这个时候的dp值就可以 O(n2)\mathcal O(n^2)O(n2) 转移了。84pts我们可以用单调队列维护 2sumi−sumprei2sum_i-sum_{pre_i}2sumi​−sumprei​​ ,就可以

2020-12-01 07:58:27 526

原创 [NOIP2008]双栈排序

link考虑什么时候 (i,j)(i,j)(i,j) 可以被放到同一个栈里面我们只需要考虑如果我们把 (i,j)(i,j)(i,j) 放一起后面会不会出现矛盾假设有 i<j<ki<j<ki<j<k,观察每一种排列,只有当 ak<ai<aja_k<a_i<a_jak​<ai​<aj​ 的时候,是会出现问题的,我们不能构造一种方案满足这个条件所以我们通过计算后缀最小值可以确定哪两个不能放在栈里面然后我们判断这个图是不是二分图就可以

2020-12-01 07:40:52 189

原创 2020.11.29集训总结

malkuthdescription称一个矩阵在模????意义下是神奇的,当且仅当它满足下面两个条件:1.该矩阵是一个只含0到????−1的整数的方阵;2.矩阵每行,每列的和在模????意义下相等。给定的????,????,????,请你求出模????意义下n阶神奇的矩阵中每行每列的和均等于????的不同矩阵的个数,两个矩阵不同当且仅当它们在至少某一位上的元素不同。由于答案较大,请你求出答案对 109+910^9+9109+9(一个质数)取模后的结果。n,p,k≤109n,p,k\leq 10^9n,

2020-11-29 16:07:53 229

原创 [NOIp2016] 天天爱跑步

显然,一个人的跑步路线可以看成是一段上行到lca,一段下行。首先考虑上行,一个点xxx可以观察到(s,t)(s,t)(s,t)的条件是:dep[s]−dep[x]=wxdep[s]-dep[x]=w_xdep[s]−dep[x]=wx​移项:dep[x]=wx+dep[x]dep[x]=w_x+dep[x]dep[x]=wx​+dep[x]相当于树上差分之后维护子树里有起点的dep[x]dep[x]dep[x]考虑下行,一个点xxx可以观察到(s,t)(s,t)(s,t)的条件是:dis(s,

2020-10-29 20:12:34 163

原创 [QZSOJ4968]最大值

description给定 nnn 个数 {ai}\{a_i\}{ai​},要求从中选出两个不同的数 x,yx,yx,y,使得 x op yx\ op\ yx op y 最大。op=or,xor,andop=or,xor,andop=or,xor,andn≤106,ai≤106n\leq 10^6,a_i\leq10^6n≤106,ai​≤106solutionxorxorxor我们对于所有的数二进制形式建一棵 trietrietrie,然后枚举一个

2020-10-23 16:45:27 150

原创 2020.10.7集训总结

countdescription设矩阵 RRR 是由若干个正方形所组成的矩阵,定义函数 F(R)F(R)F(R) 为矩阵 RRR 的某一条对角线穿过的小正方形的个数。现在已知 F(R)=NF(R)=NF(R)=N,求可能的矩阵 RRR 的个数。n≤109n\leq 10^9n≤109,数据随机生成solution设一个矩形 R=n×m,m≤nR=n\times m,m\leq nR=n×m,m≤n,显然他对角线经过了 gcd⁡(n,m)−1\gcd(n,m)-1gcd(n,m)−1 个格点,把他分

2020-10-07 16:24:33 211

原创 莫队二次离线

模板通常来说,满足以下条件的问题可以莫队转移复杂度不是O(1)O(1)O(1)可以使用莫队二次离线优化对于一个复杂度为 O(nnp)O(n\sqrt np)O(nn​p),ppp 不是常数的莫队问题优化到复杂度为 O(nn+np)O(n\sqrt n+np)O(nn​+np)对于模板题,显然暴力莫队的做法是O(nn(14k))O(n\sqrt n \binom{14}{k})O(nn​(k14​))的,显然炸飞考虑优化,我们用 f(i,[l,r])f(i,[l,r])f(i,[l,r])

2020-08-26 19:05:44 236

原创 NOI2020同步赛爆零记&暑假划水总结

大概从寒假开始都叫暑假吧所以要从头开始大概记录一下在学校划水的事吧day -213(2020.1.17)放寒假啦!开心day -204(2020.1.26)延期开学了day -77(2020.6.1)终于开学了…然后我们一帮人中午就被 gu 放学之后找去谈话,说了说“训练计划”然后 nls 把我扣在了食堂,等我过去的时候他们差不多都说完了…于是啥东西都没听见day -72(2020.6.6)开学之后的第一次唯一一次训练做的是 FJ 集训的题好像,反正三道暴力走人,被吊打了/dk

2020-08-23 19:46:53 523

原创 2020.8.13集训

mathdescription设d(i)d(i)d(i)为iii的因数个数给定n,mn,mn,m,求:∑i=1n(−1)∑j=1md(i⋅j)\sum_{i=1}^n(-1)^{\sum_{j=1}^m d(i\cdot j)}i=1∑n​(−1)∑j=1m​d(i⋅j)n≤107,m≤1014n\leq 10^7,m\leq 10^{14}n≤107,m≤1014solution发现我们只用关心有几个jjj可以让i⋅ji\cdot ji⋅j是完全平方数设i=pq12i=pq_1^2i=pq

2020-08-13 12:22:29 136

原创 [BJOI2020] 主音识别

咕咕咕的北京省选题description给定参数kkk,一个大小为mmm的集合{b1,b2,b3...bm}\{b_1,b_2,b_3...b_m\}{b1​,b2​,b3​...bm​},一个长度为nnn的数列{ai}\{a_i\}{ai​}定义f(x,ai)=[ai≡x( mod k)]+[∃1≤j≤m,ai≡x+bj( mod k)]f(x,a_i)=[a_i\equiv x(\bmod k)]+[\exist1\leq j\leq m,a_i\equiv x+b_j(\bmod k)]f(x,

2020-08-11 13:33:41 205

原创 2020.8.10集训

matrixdescription给定两个长度为nnn的数列lll,ttt,分别作为n×nn\times nn×n的矩阵的第一列和第一行,其他位置的矩阵满足Fi,j=a×Fi,j−1+b×Fi−1,jF_{i,j}=a\times F_{i,j-1}+b\times F_{i-1,j}Fi,j​=a×Fi,j−1​+b×Fi−1,j​给定a,ba,ba,b,求Fn,nF_{n,n}Fn,n​n≤105n\leq 10^5n≤105solution考虑一个数的贡献,li(i>2)l_i(i

2020-08-10 13:14:13 142

原创 [国家集训队]Middle

description给定一个序列 sss,qqq次询问,每次询问所有左端点在 [a,b][a,b][a,b] ,右端点在 [c,d][c,d][c,d] 里面的区间的中位数的最大值,强制在线subtask 1:n,q≤100subtask\ 1:n,q\leq 100subtask 1:n,q≤100subtask 2:n≤2000,m≤2.5×104subtask\ 2:n\leq 2000,m\leq 2.5\times 10^4subtask 2:n≤2

2020-08-09 19:22:23 147

原创 [NOI2018] 归程

关于spfa他死了问题可以转化成,我们在所有海拔>p>p>p的边组成的图中,vvv所在的连通块中,距离111最近的一个点的距离后半部分可以用spfa dijkstra解决前面的这个东西,我们可以对于每一条边的海拔排序,从大到小建立可持久化并查集,维护一下并查集的min,相当于是可持久化带权并查集复杂度O(nlog⁡2n)O(n\log^2n)O(nlog2n),实际得分在909090分左右考虑优化,我们发现,每次合并两个可持久化带权并查集找父亲的时候,可以不用每次暴力找爸

2020-08-08 21:48:07 289 1

原创 2020.8.7集训

奇怪的道路description小宇从历史书上了解到一个古老的文明。这个文明在各个方面高度发达,交通方面也不例外。考古学家已经知道,这个文明在全盛时期有n座城市,编号为1⋯n1\cdots n1⋯n。mmm 条道路连接在这些城市之间,每条道路将两个城市连接起来,使得两地的居民可以方便地来往。一对城市之间可能存在多条道路。据史料记载,这个文明的交通网络满足两个奇怪的特征。首先,这个文明崇拜数字K,所以对于任何一条道路,设它连接的两个城市分别为 uuu 和 vvv,则必定满足 1≤∣u−v∣≤K1\le

2020-08-07 14:33:28 150

原创 [HNOI2012] 矿场搭建

显然需要求一下点双然后枚举每一个点双,考虑进行分类讨论如果这一个联通块里面只有这一个点双,也就是这个点双里面没有割点,那么我们至少需要建造两个出口,才能保证能跑出去(因为有可能选的那个塌了)如果这个点双里面有一个割点,那么有两种情况,一种是割点塌了,这样我们需要选出1个点,或者割点没塌,这样我们就可以跑到另一个点双里面去了,这样需要选出1个点当这个点双里面有两个割点,那么我们最坏情况是一个割点塌了,但是我们还是能跑到另一个里面。这样我们就可以解决了#include <bits/stdc++

2020-08-03 11:59:30 164

原创 [NOIp2018] 摆渡车

普及组考斜率优化考虑dpdpdpfif_ifi​表示在iii时刻发车的最小等待时间那么我们可以得到转移方程fi=min⁡0≤j≤i−m{fj+(cnti−cntj)i−(sumi−sumj)}f_i=\min\limits_{0\leq j\leq i-m} \{f_j+(cnt_i-cnt_j)i-(sum_i-sum_j)\}fi​=0≤j≤i−mmin​{fj​+(cnti​−cntj​)i−(sumi​−sumj​)}其中cnt,sumcnt,sumcnt,sum分别是学生个数和学生到达时

2020-08-01 15:49:10 252

原创 2020.7.28集训

stringdescription小 A 最近喜欢上了一个字母游戏,这个游戏的大意是这样的:有 nnn 个无限长的循环字符串,所谓循环字符串,就是由某一个子串重复叠加而成。现在想知道最早在哪一位,这 nnn 个字符串位于该位的字母相同。小 A 对于简单难度的关卡简直手到擒来,但是对于困难难度的关卡他就一筹莫展了。这时他想到了你,一个机智的程序员,他希望你能够帮他编写程序求出答案。我们保证该子串中的字母互不重复,但区分大小写。n≤3×105n\leq 3\times 10^5n≤3×105soluti

2020-07-28 16:07:40 209

原创 zyb十题·247

难得有md体面description给定一个偶数 NNN,现在蔡老板得到了一个由 [1,N][1,N][1,N] 内的所有偶数构成的排列 b[1..N/2]b[1..N/2]b[1..N/2]现在蔡老板又得到了一个数组 a[1..N/2]a[1..N/2]a[1..N/2],其中 a[i]=i∗2−1a[i]=i*2-1a[i]=i∗2−1蔡老板想知道,对于所有满足 aaa 和 bbb 都是它的子序列的 [1,N][1,N][1,N] 的排列 ppp,ppp 的逆序对的最小值输入格式第一行一个偶

2020-07-25 10:22:04 141

原创 2020.7.21集训

primedescription对于给定的n,pn,pn,p,其中ppp是质数,分别求i×n,i∈[1,n]i\times n,i\in[1,n]i×n,i∈[1,n]在模ppp意义下的逆元1≤n<p≤3×1061\leq n<p\leq 3\times 10^61≤n<p≤3×106solution朴素的O(nlog⁡n)O(n\log n)O(nlogn)做法显然是不太行的考虑分解一下inv(in)=inv(i)inv(n)inv(in)=inv(i)inv(n)inv(

2020-07-21 10:07:27 176

原创 2020.7.15集训

plandescription在小X的家乡,有机房一条街,街上有很多机房。每个机房里都有一万个人在切题。小 X 刚刷完CodeChef\text{CodeChef}CodeChef,准备出来逛逛。机房一条街有nnn个机房,第 iii 个机房的坐标为 xix_ixi​ ,小 X 的家坐标为 000。小 X 在街上移动的速度为111,即从 x1x_1x1​ 到 x2x_2x2​ 所耗费的时间为 ∣x1−x2∣|x_1−x_2|∣x1​−x2​∣。每个机房的学生数量不同,ACM 题目水平也良莠不齐。小

2020-07-16 13:36:05 145

原创 2020.7.14集训

dividedescription给定一个长度为nnn的数列,将其划分为三段,问这三段的最大值的最小值solution这题方法很多O(log2n)O(log^2n)O(log2n)二分答案,里面两次在前缀和上二分找断点,进行判断O(n)O(n)O(n)用类似于双指针的方法,每次找前面的一个位置,让第一段和第二段的差尽量的小,然后取最小值O(nlog⁡n)O(n\log n)O(nlogn)二分答案,O(n)O(n)O(n)判断thddescriptionLGTB 最近在玩一个类似

2020-07-14 13:05:39 209

原创 [ZJOI2013] K大数查询

description你需要维护nnn个可重整数集,开始都是空集现在有mmm次操作1 l r k 在[l,r][l,r][l,r]的集合中加入一个数kkk2 l r k 询问[l,r][l,r][l,r]的集合的并集中的第kkk大,特别的,并集不去重solution看到动态区间第kkk大,显然想到树套树但是树状数组套权值线段树或者线段树套权值线段树都不能支持在外围的区间修改所以我们可以考虑反过来用权值树状数组套线段树外围的树状数组表示每一个数值,里面的线段树表示这个数值在每个位置上出

2020-07-10 07:23:04 211

原创 AtCoder ABC169

可惜没打成这场,要不然应该可以AK的/kk/fadE有一个数列{xi}\{x_i\}{xi​},满足li≤xi≤ril_i\leq x_i\leq r_ili​≤xi​≤ri​,现在对于给定的li,ril_i,r_ili​,ri​,求这个数列的中位数可能有多少种不同的情况这道题还是比较好想的,一个点能否成为中位数,就是他左边和右边的xix_ixi​的数量相同我们对于左端点和右端点进行排序,就可以找到他的范围了注意对于奇数和偶数进行分类讨论#include <bits/stdc++.h&

2020-06-26 14:25:15 216

原创 [NOIP2016] 换教室

数学期望因为每个时间都是相互独立的,所以考虑期望dp的方法来解决我们发现一个点有没有申请成功是对前后会造成影响的,所以我们需要维护三维状态f[i][j][opt]f[i][j][opt]f[i][j][opt]表示第iii节课,前面一共申请了jjj次,这次有没有申请先考虑f[i][j][0]f[i][j][0]f[i][j][0],他可以由f[i−1][j][0]f[i-1][j][0]f[i−1][j][0]和f[i−1][j][1]f[i-1][j][1]f[i−1][j][1]转移过来当从

2020-06-14 12:51:56 114

原创 期望基本概念和性质

数学期望有两种表示方法,分别是离散型和连续型离散型最开始接触数学期望应该就是这种表示方法我们知道,期望的定义是E(x)=∑i=1nxip(xi)E(x)=\sum_{i=1}^n x_ip(x_i)E(x)=∑i=1n​xi​p(xi​),即每个值xix_ixi​乘上他出现的概率p(xi)p(x_i)p(xi​)那么,我们可以用nnn个点(xi,p(xi))(x_i,p(x_i))(xi​,p(xi​))来表示连续型我们定义一个概率密度函数f(x)f(x)f(x),其中需要满足对于任意的a&lt

2020-06-14 12:36:40 10106

原创 [THUPC2019] 不等式

description对于给定的{ai},{bi}\{a_i\},\{b_i\}{ai​},{bi​},定义fk(x)=∑i=1kabs⁡(aix+bi)f_k(x)=\begin{matrix}\sum_{i=1}^k\end{matrix}\operatorname{abs}(a_ix+b_i)fk​(x)=∑i=1k​​abs(ai​x+bi​)对于每一个kkk,求fk(x)f_k(x)fk​(x)的最小值solution首先考虑ai=1a_i=1ai​=1的时候,也就是我们要求min⁡{∑

2020-06-13 18:28:45 154

原创 [FJWC2020 Day1T1] 人生

题目描述现在你有nnn个点,每个点有黑色(000)或者白色(111)或者没有颜色(−1-1−1),现在你需要把所有没有颜色的点染成黑色或者白色你还需要添加一些不重复的有向边(i,j)(i,j)(i,j),要求1≤i<j≤n1\leq i<j\leq n1≤i<j≤n,也就是说这些边需要从编号小的走到编号大的一般的,一条合法的路径是指他经过的任意两个点的颜色不同。特别的,一个点也算作一条路径问最后有多少种符合条件的图,使得这个图上有奇数条合法路径,答案对998244353998244

2020-06-07 13:51:43 269

原创 [NOI2011]阿狸的打字机

传送门非常好的题sol.1每次查询的时候暴力枚举起始点,然后一位一位比较,复杂度O(m∣s∣2)O(m|s|^2)O(m∣s∣2)期望得分20pts20pts20ptssol.2进行优化,我们可以每次暴力跑一遍kmpkmpkmp,复杂度O(m∣s∣)O(m|s|)O(m∣s∣)期望得分40pts40pts40ptssol.3我们发现有多个模式串,考虑对每一个串建立一棵AC自动机然后把问题简化一下,我们考虑单次询问也就是说,在AC自动机上,如何快速的求出ttt在sss中出现的次数

2020-05-31 11:31:02 162

原创 [Ynoi2015]我回来了

在太阳西斜的这个世界里,置身天上之森等这场战争结束后,不归之人与望眼欲穿的人们,人人本着正义之名长存不灭的过去,逐渐消逝的未来我 回 来 了纵使日薄西山,即便看不到未来此时此刻的光辉,盼君勿忘——世上最幸福的女孩题面说的很绕,第222个操作,说了一堆期望什么的,最后发现要乘上(R−L+1)(R-L+1)(R−L+1),所以就是求情况之和嘛我们考虑亵渎什么时候可以被触发首先他一定会触发一次,那么这个时候需要让场上所有人的血量−d-d−d,想要触发下一次,一定需要有一个人的血量在[1,d].

2020-05-29 10:34:09 434 1

原创 [Ynoi2013]大学/我永远喜欢珂朵莉~

在太阳西斜的这个世界里,置身天上之森。等这场战争结束后,不归之人和望眼欲穿的人们,人人本着正义之名。长存不灭的过去,逐渐消逝的未来。我回来了,纵使日薄西山,即便看不到未来,此时此刻的光辉,盼君勿忘。——世上最幸福的女孩我永远喜欢珂朵莉~5.20来切信仰题!考虑操作111,每次把一个区间内xxx的倍数除以xxx当x=1x=1x=1的时候,显然什么都不用做当x≥2x\geq 2x≥2的时候,一个数最坏情况下只会被除log⁡\loglog次(每次都除222)就会变成111,然后就不能再.

2020-05-20 20:33:07 594 1

原创 [Ynoi2016]炸脖龙I/Nephren Ruq Insania

Ynoi竟然出了个奈芙莲的题,少见啊Ynoi竟然有个不卡常的题,更少见了这道题其实思路非常好想,本质上就是一个暴力,但是要用到拓展欧拉定理,是什么呢?ac≡{ac,c<ϕ(p)ac mod ϕ(p)+ϕ(p),c≥ϕ(p) mod pa^c\equiv\begin{cases}a^c,c<\phi(p) \\ a^{c\bmod \phi(p)+\phi(p)},c\geq\phi(p)\end{cases} \bmod pac≡{ac,c<ϕ(p)acmodϕ(p)+ϕ(p),c

2020-05-13 19:28:27 305

原创 2020.5.5集训总结

咕的时间真长T1P4847 银河英雄传说V2fhq treapfhq\ treapfhq treap入门题M就合并D就拆开Q就把那一段拎出来输出sumsumsum就好#include <bits/stdc++.h>using namespace std;# define Rep(i,a,b) for(int i=a;i<=b;i++)# define _Rep(i,a,b) for(int i=a;i>=b;i--)# define Re

2020-05-12 19:43:23 180

原创 平衡树·从BST到treap到fhq-treap

挖坑

2020-05-09 19:41:58 289

原创 AtCoder ABC166

A如果是ABCABCABC就输出ARCARCARC如果是ARCARCARC就输出ABCABCABCB开个桶随便维护一下就好int n,k;bool vis[N];int main(){ read(n),read(k); Rep(i,1,k){ int x,y; read(x); while(x--)read(y),v...

2020-05-04 13:43:40 594

原创 AtCoder ABC165

先吐槽一下题面锅了这回事,再吐槽下出题人英语水平…A给定三个数a,b,na,b,na,b,n,问[a,b][a,b][a,b]里面有没有nnn的倍数如果a,ba,ba,b里面有一个是显然就是剩下的看⌊an⌋<⌊bn⌋\lfloor\frac{a}{n}\rfloor<\lfloor\frac{b}{n}\rfloor⌊na​⌋<⌊nb​⌋就可以int n,a,b;i...

2020-05-04 13:26:40 520

原创 换根dp学习笔记

1.换根dp换根dpdpdp其实是树形dpdpdp的一个分支,通常用来在线性或亚线性的复杂度里解决树上定点的问题刚开始学习的时候可能会不太好理解,但是做多题之后就好了2.引入现在有一个这样的问题给你一棵树,要找一个点ppp,使得当ppp为根的时候,所有节点的深度之和最大首先考虑暴力怎么做,就是暴力枚举ppp,然后Θ(n)\Theta(n)Θ(n)计算答案,最后总复杂度是Θ(n2)\...

2020-05-02 17:18:54 553

原创 2020.4.25 集训总结

T1P3605 [USACO17JAN]Promotion Counting P当时脑子抽了写了个线段树合并…不过这题是线段树合并板子题吧#include <bits/stdc++.h>using namespace std;# define Rep(i,a,b) for(int i=a;i<=b;i++)# define _Rep(i,a,b) for(int ...

2020-04-30 19:42:25 152

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除