自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BOI Day2 necklace 题解

题意:求A,B串连续子串首尾相连形成的项链中,最长的相同的项链长度及子串的初始位置。项链旋转,翻转后相同就被视为相同。分析:首先,两条项链相同,那么它们在原串中有这样的形状:只考虑旋转后相同的字符串,我们可以将其分成两段,分别处理。对于每个位置对(i,p)(i,p)(i,p),我们希望求出从iii向左延伸到最远的qqq,从ppp向右延伸到最远的jjj,使得A[q,i]=B[p,j]A...

2019-06-18 19:03:20 268

原创 BOI Day1 nautilus 题解

题意:按照给出的字符串的方向走后,最终可能处于多少个位置。分析:可以发现,每走一步就是对当前所有可能的位置统一进行一次移动,遇到障碍或超出边界就舍弃这个位置a。如果我们给这个矩阵的每个位置附上一个编号,那么我们发现:上下左右移动一格等价于编号+1、-1、+C、-C。所以,我们不难想到将矩阵表示为一个二进制的01串,如果当前可能到达这个位置,那么该处为1,否则为零。一次移动等价于二进制的...

2019-06-18 17:39:03 304

原创 2019.02.19 T3无区间的排列 interval 题解【DP】

题意:思路:(题外话:发现自己连暴力都码不出来。弃疗~)对于一个长度为nnn的排列,如果它不是无区间排列,就是有区间排列。所以我们可以将答案转化为:n!−n!-n!−有区间排列的数量。那么现在的问题就是:如何不重不漏的求出有区间的排列的数量。我们不妨想一想,所谓区间有哪些性质(以下所说的区间都是在某一个排列中的区间)。定义一个区间为最大区间,当且仅当这个区间不在一个更大的区间(除了...

2019-02-20 14:19:39 300

原创 BZOJ4870 [Shoi2017]组合数问题

题意:链接求(∑i=0∞Cnkik+r)mod  p(\sum_{i=0}^{\infty} C_{nk}^{ik+r}) \mod p(∑i=0∞​Cnkik+r​)modp思路:发现此题推二项式定理并没有什么用…考虑这个式子的意义:在N=nkN=nkN=nk个物品中选模kkk余rrr个物品的方案数之和。设dp[i][j]dp[i...

2019-02-09 22:26:11 338

原创 BZOJ4869 [Shoi2017]相逢是问候

题意:链接维护一个长度为n的数组,m个操作,支持两种操作:0 l r表示将第l个到第r个数中的每一个数ai替换为c^ai;1 l r求第l个到第r个数的和。思路:首先要知道扩展欧拉定理:如果a>phi(p),ca≡c(amod  phi(p))+phi(p)mod &ThinSpac...

2019-02-09 22:12:06 229

原创 BZOJ4868 [Shoi2017]期末考试

题意:链接n位同学,m门课程,第i位同学希望在第ti天得知所有课程的成绩,每位同学等待一天就会产生C不愉快度。第i门课程,按照原本的计划,会在第bi天公布成绩。有两种操作:1.课程X成绩的时间推迟一天,公布课程Y成绩的时间提前一天,每次操作产生A不愉快度。2.课程Z的出成绩时间提前一天,每次操作产生B不愉快度。求最小的总的不愉快度。思路:设f[k]f[k]f[k]表示所有的课程都在第...

2019-02-09 21:29:34 310

原创 多项式:求逆、取模、多点求值、多点插值

若多项式F(x)F(x)F(x)的最高次数为nnn,则deg⁡F=n\deg F =ndegF=n设FR(x)F_R(x)FR​(x)表示将F(x)F(x)F(x)的系数反转,即FR(x)F_R(x)FR​(x)的第iii次项系数为F(x)F(x)F(x)的第n−in-in−i次项系数。多项式乘法(FFT(实数意义下)&NTT(模意义下))多项式求逆(FWT)对于一个多项式A(x)...

2018-12-29 22:47:05 697

原创 BZOJ4974 字符串大师【KMP】【贪心】

题意:一个串T是S的循环节,当且仅当存在正整数k,使得S是T^k(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节。给定一个长度为n的仅由小写字符构成的字符串S,请对于每个(1<=k<=n),求出S长度为k的前缀的最短循环节的长度per_i。字符串大师小Q觉得这个问题过于简单,于是花了一分钟将其AC了,他想检验你是否也是字符串大师。小Q告诉你nnn以及per1,per...

2018-10-25 15:49:15 311

原创 BZOJ4861 魔法咒语 【AC自动机】【DP】【矩阵快速幂】

题意:用n个基本词汇拼出长度为L的字符串,每个基本词汇可以用0次,1次或多次,要求拼出的字符串不能出现m个禁忌词汇中的任何一个,求方案数 mod 1e9+760% :1<=N,M<=50,L<=100 40%:基本词汇长度不超过2,L<=108^88。思路:用禁忌词建AC自动机,考虑转移:L<=100:AC自动机上的DP,dp[i][j]dp[i][j]d...

2018-10-25 15:11:47 183

原创 20181023模拟赛T2 点亮【DP】

题意:一颗有nnn个节点的有根树(n<=1000n<=1000n<=1000),根为1,保证fa[i]<=ifa[i]<=ifa[i]<=i且数据随机生成。现在你可以点亮某些节点,定义每个有序点对(i,j)(i,j)(i,j)的贡献如下:若iii被点亮且子树lca(i,j)lca(i,j)lca(i,j)点亮的点数大于等于没...

2018-10-24 20:23:09 172

原创 BZOJ 1559 密码【AC自动机】【状压DP】

题意:求有多少个长度为L,且包含n个串的字符串,答案小于等于42时输出方案。(n<=10,L<=25,|S|<=10)思路:常规的AC自动机上的壮压DP,通过Fail去掉那些被包含的字符串即可。dp[i][j][s]:dp[i][j][s]:dp[i][j][s]:走了iii步,当前在点jjj,已经走过的串的二进制为sss的方案数。dp[i+1][ch[j][c]][s...

2018-10-23 17:42:31 190

原创 AC自动机&KMP小结

AC自动机:主要由Insert()和Build()两个函数构成。Build():用队列建图并得到Fail指针。有时会增加标记ed[i],表示i是否是某个字符串的结尾。Fail[i]:以i结尾的字符串的最长后缀。比较常见的题目类型是在AC自动机上DP,一般情况会有一维表示走到AC自动机上的哪一个点。题目:BZOJ1559 密码AC自动机上的DP,还需要利用Fail去掉字符串之间的包含关...

2018-10-22 21:25:43 440

原创 20181017考试总结

首先,前十几分钟读题,发现第一题是个数位DP,第二题博弈,第三题暂时看不出来,有点像DP,但DP复杂度又太高了,然后又去看它的步骤分,感觉没有什么能拿得到的步骤分。然后开始做第一题,先花了十分钟左右写暴力和对拍,然后接近二十分钟写正解,写完后过了样例,但对拍的第一组数据就Wa了,调试的时候发现这道题的细节有点多,然后就把最初的那份代码改得面目全非。在9:05的时候才把第一题结束。然而第一题炸掉...

2018-10-17 22:08:08 153

原创 20181015考试总结

今天考试的第一题还是比较温和,除了它有O(108)O(10^8)O(108)的时间复杂度让人有些心生畏惧,不太敢写之外,不过好在常数比较小,再加上10810^8108跑不满,所以就这样过了(最初的转移还有一个logloglog,不过预处理一下就没有了,正解居然就是10810^8108,所以这道题考的是怎么预处理??)。事实验证了对拍还是很有用的,检查出来了有一个后来改的地方两数相乘忘了乘1LL再...

2018-10-15 21:33:03 219

原创 【dp】AGC013 D - Piling Up

题意:有无数个红色的和蓝色的积木和一个很大的箱子,要建一个由2M个积木搭成的塔首先,大箱子里有N个(红色或蓝色)的积木,(并不知道每种颜色分别有多少个积木,N>0,有可能没有某一种颜色的积木)重复以下操作M次。1:从箱子里随机拿出一个积木,放在已有的塔的顶端。2:将一个红色的积木和一个蓝色的积木放进箱子里。3:从箱子里随机拿出一个积木,放在已有的塔的顶端。显然,一次操作后,塔的...

2018-09-28 12:34:07 212

原创 AGC013 B - Hamiltonish Path

题意:给你一个N个节点的简单无向图(无重边、自环),含有M条边。保证图一定联通。现在,你要在这个图中找到满足以下条件的一条路径:1:这条路径至少经过两个点。2:每个点最多被经过一次。3:与这条路径的起点和终点相邻(通过一条边连接)的点都必须在这条路径中。思路:随便选一条边,将这两个点作为起点和终点,不断向两端延伸(某节点没有访问过,又与起点或终点相邻,就把它作为新的起点或终点),延伸不...

2018-09-28 10:53:27 222

原创 【模型转化】【dp/矩阵乘法】AGC013E - Placing Squares

题意:你有一个长度为n的纸条,上面有m个标记,左端点与第i个标记的距离为x[i]。现在,你要在纸条上摆放一些(可以为一个)正方形,满足以下要求:1:正方形边长为整数。2:正方形的一条边必须接触纸条并且完全处于纸条上(不能超出纸条)。3:纸条的任易位置都必须接触正方形(纸条被正方形完全覆盖)。4:两个正方形的边界线不能直接位于标记之上。定义一种摆放方式的beauty值为正方形面积的乘积,...

2018-09-28 10:43:21 367

原创 【思维】【贪心】AGC 009 D - Uninity

题意我们定义一棵树的uninity值:只有一个点的树的uninity值为0;假设有若干(可以是0)棵uninity值为k的树和一个点v,每棵树各选一个点连到v,那么得到的树的uninity值为k+1。显然一棵uninity值为k的树,它的uninity值也可以是k+1,k+2,…给出一棵有N个点的树,求最小的 uninity值。思路为了方便表示,将题目中的点 v 赋上权值为 k+1 ...

2018-09-25 23:07:36 294

原创 【DP】AGC 009 C - Division into Two

题意按元素从小到大的顺序给出一个集合,集合内的数都是整数且互不相同。现在将这个集合划分成X和Y两个集合(X和Y可以为空),使:X中任意两个元素至少相差A;Y中任意两个元素至少相差B。求满足条件的划分的方案数,对1e9+7取模。思路先说一下考场上的错误的想法:假设B≤A,现将a[i]放入集合X,找到最大的 j 使 a[j]+A≤a[i] ,找到最小的 k 使 k~i-1 中的每一个数都...

2018-09-24 21:35:00 235

原创 【矩阵乘法】【AGC003】F - Fraction of Fractal

F - Fraction of Fractal题意:给出一个大小为n∗mn*mn∗m的只有黑色或白色格子的图,这个图被我们称作1级构型。1级构型保证所有的黑色格子是联通(从上下或左右走可达)的。当初就因为没有注意到这句话将一个错误的思路想了半天。读题要仔细啊!!尤其是英文特别的,0级构型是一个1∗11*11∗1的黑色格子。定义一个k级构型:它由k-1级构型转化而来,怎么转化呢?首先,它具有...

2018-09-18 22:18:16 271

原创 AGC003

C BBuBBBlesort!题意:给出一个长度为N的数组A,数组中的元素两两不同,你可以进行两种操作:1.交换两个相邻元素。2. 交换两个中间间隔一个数字的元素,即:Ai-1 和 Ai+1 (如果Ai-1 和 Ai+1存在)要求用这两种操作将A数组按升序排序,求操作1 至少要用多少次。思路:显然,仅使用操作2,可以将A中奇数位置和偶数位置的数分别排好序,因此,如果这个数排序后位置的...

2018-09-18 22:14:56 380

原创 Polya定理

先简单介绍一下置换群和burnside引理置换群群 满足如下性质: 1. 封闭性 2. 结合性 3. 单位元 4. 逆元 置换群 置换群SnSnS_n满足群的所有性质,SnSnS_n中的元素:置换。 置换可表示为如下形式:其中,aiaia_i为1到n的排列。 (1a12a23a3……nan)(123…na1a2a3…an)\begin{pmatrix} 1&2&a

2018-09-09 16:46:32 1060

原创 【数论&Polya定理】图的同构 BZOJ 1488

题意:求两两互不同构的含n个点的简单图有多少种。 简单图是关联一对顶点的无向边不多于一条的不含自环的图。 a图与b图被认为是同构的是指a图的顶点经过一定的重新标号以后,a图的顶点集和边集能完全与b图一一对应。分析:#include<cstdio>#include<algorithm&am

2018-09-08 21:27:54 711

原创 【置换群&Polya定理】Sultan's Chandelier UVA - 11540

题意:给出一棵树,用m种颜色给树上的每一个节点染色,求不同的染色方案。两个染色方案视为相同,当且仅当子树内的节点经过旋转或不旋转后相同。旋转:这棵树长得非常怪异,在以u为根的子树,u的一代子节点形成了一个类似环状的结构;旋转一个单位后,原来排在第一位的子树排在了最后,原来排在第二的子树排在了第一。思路:我们单独考虑一棵子树,对于这棵子树的一代子节点能产生哪一些置换。首先,肯定能产生...

2018-09-08 11:26:43 428

原创 【置换群&Polya定理的扩展】Cubes UVA - 10601

题意:用12根木条搭建正方体,给出每根木条颜色,木条颜色编号1~6,求能搭建不同的正方体的数量。两个正方体视为不同当且仅当不能在旋转翻转等操作后重合。 样例: 3 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 2 3 3 4 4 5 5 6 6 输出: 1 5 312120 分析: 置换群G,|G|=24G,|...

2018-09-07 17:02:18 411

原创 【数论】线性筛&积性函数

线性筛线性筛素数#define MAXN 1000000int prim[MAXN],vis[MAXN],c;void Solve(){ mu[1]=1; for(int i=2;i<MAXN;i++) { if(!vis[i]) prim[c++]=i; for(int j=0;1LL*prim[...

2018-09-02 21:47:38 377

原创 bzoj1731Layout排队布局

题意给出两种关系,某两头奶牛间的距离不超过L或不小于D,奶牛排在队伍中的顺序和它们的编号是相同的,同一位置可站多头奶牛,求1号奶牛和N号奶牛间可能的最大距离,无解输出-1,INF输出-2。分析差分约束跑最短路 根据题目,可列出以下式子:( u < v ) dis[v]-dis[u]<=L =>从v到u连一条边权为L的边 dis[v]-dis[u]>=D &...

2018-09-01 19:34:33 340

原创 bzoj1922大陆争霸

题意无向图,从一个点到另一个点需要一定的时间,可以从1号节点出发放出无限个炸弹去摧毁某些点,每个节点被k个节点保护,一个点只有当保护它的点被摧毁后才能到达,求到达点n最短用时。分析最短路,用Dijkstra而非Spfa。 Dijkstra与Spfa的区别:Dijkstra从队列中取出的点一定是最短路已经确定的点而Spfa不一定。 对于每一个点,记录保护它的点的数量,只有当保护它的点...

2018-09-01 18:25:46 156

原创 bzoj1179 Atm

题意有向图,从起点出发到终点集合的某个点结束,求路径上的点权之和的最大值(如果某点重复经过,点权只被计算一次)分析Tarjan缩点重构图,再用Spfa求最长路 有向图用Tarjan一定要有vis标记#include<cstdio>#include<algorithm>#include<queue>#include<map>#...

2018-09-01 17:21:15 196

原创 【DP】【KMP】Bracket Substring CodeForces - 1015F

题意给出一个括号序列,求包含这个序列且长度为 2*n 的括号匹配的方案数,模1000000007。 1≤n≤100,1≤|s|≤200。分析预处理出 f [ i ] [ j ] : 长度为 i ,还没有匹配的左括号的个数为 j 的方案数。 f [ 0 ] [ 0 ] = 1 ; f [ i ] [ j ] = f [ i - 1 ] [ j - 1 ] (在i 位置放‘(’) +...

2018-08-03 09:49:59 371

原创 【单调队列】【线段树】すぬけ君の塗り絵 2 / Snuke's Coloring 2 AtCoder - 2149

题意给出平面上的一个 W*H 的白色矩形,以及矩形内部 N 个点的坐标

2018-08-03 09:17:17 311

原创 木と整数 / Integers on a Tree AtCoder - 2148

题意N个节点的一棵树,其中K个节点已有权值,要求在其余N-K个节点上赋权值,使得一条边所连接的两个节点权值的差的绝对值为 1 。 如果可以,输出 Yes 及所有点的权值,如果不行,输出 No 。 1≦N≦10^5 , 1≦K≦N#分析显然一条边所连接的两个节点奇偶性不同,可以记录节点的奇偶性,初步判断有无矛盾。 对于相邻节点相差 1 的限制,可以通过已知点的取值范围推出周围的...

2018-08-03 07:58:24 251

原创 IOI2005河流

题目描述几乎整个Byteland王国都被森林和河流所覆盖。小点的河汇聚到一起,形成了稍大点的河。就这样,所有的河水都汇聚并流进了一条大河,最后这条大河流进了大海。这条大河的入海口处有一个村庄——名叫Bytetown 在Byteland国,有n个伐木的村庄,这些村庄都座落在河边。目前在Bytetown,有一个巨大的伐木场,它处理着全国砍下的所有木料。木料被砍下后,顺着河流而被运到Bytetow...

2018-03-16 21:46:44 500

原创 G - The merchant

The merchant给一个树( n < 50000 ) 每个点有个权值,代表商品价格,若干个询问( q < 50000 ) 对每个询问,问的是从u点走到v点(简单路径),商人在这个路径中的某点买入商品,然后在某点再卖出商品,最大盈利是多少? 注意一条路径上只能买卖一次,先买才能卖分析方法是离线 LCA。对于一个询问, 假设 u , v 的最近公共祖先是 LC...

2018-03-02 14:08:16 271

原创 1小时训练7

A - New Year Book Reading一个人要读n本书,每本书的编号为1~n,每本书有一个重量wi,要读m天,给出每天要读的书的编号,某本书可以多次读。书从上到下堆成一堆,他把每天要读的书抽出来(把上面的搬开,拿出要的的书书,再把上面的放回),再把这本书放回到这摞书的最上面。问根据他的阅读顺序怎样确定书的初始化排列顺序,使他搬书的重量最小,求出这个最小重量。每天搬书的重量不包括他要...

2018-03-01 22:47:50 243

原创 寒假训练2

寒假训练2A - Pairwise Sum and Divide有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整:fun(A) sum = 0 for i = 1 to A.length for j = i+1 to A.length sum = sum + Floor((Aii+Ajj)/(A...

2018-02-23 08:08:53 204

空空如也

空空如也

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

TA关注的人

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