CE玩家

人生最大的快乐,就是做别人说你做不到的事。

[bfs树 分层图][DP] hihocoder Pro.1147 时空阵

题目传送门因为是Manchery讲的bfs树的题目,那么就考虑bfs树 因为bfs树不存在返祖边,所以bfs树上的点的深度就是根节点到它的最短路,那么就一层一层DP。 令 fi,j,sf_{i,j,s} 表示DP到第 ii 层,总共用了 jj 个点,第 ii 层有 ss 个点时的方案数,因为题...

2017-07-30 12:23:36

阅读数:385

评论数:0

[数论 反演] HDU6053. TrickGCD

可以先容斥一下,用所有方案减去gcd为1的方案 那么只要能求gcd为1的方案就可以了 推一下式子 ∑i1=1a1∑i2=1a2∑i3=1a3…∑in=1an[gcd(i1,i2,i3,..,in)=1]\sum_{i_1=1}^{a_1}\sum_{i_2=1}^{a_2}\sum_{i_3...

2017-07-28 12:09:51

阅读数:233

评论数:0

[概率DP][多项式取模] NOI2017.day1 T3 泳池

f(i,j)表示高度为i,长度为j的局域,i这个行存在障碍,前i-1行不存在障碍,能选取的区域<=k的概率 那么fi,j=∑k<jfi,k∗pi−1∗q∗gi,j−k−1+∑k<jgi,k∗gi,j−k−1∗pi−1∗qfi,j=...

2017-07-24 15:03:50

阅读数:1505

评论数:0

[Notes][多项式]杂记 · 多项式算法—多项式求逆 多项式取模 多项式开根…

多项式 由若干个单项式相加组成的代数式叫做多项式 形如:f(x)=∑ni=0aixif(x)=∑i=0naixif(x)=\sum_{i=0}^{n}a_ix^i, deg f(x)deg⁡ f(x)\deg~f(x)称为fff的度,是f(...

2017-07-24 14:48:17

阅读数:1485

评论数:0

[2-SAT]NOI2017 .day2 T1 游戏

一看题目 3-sat??? 然而发现为x的地图最多有8个,那么可以枚举每个x是什么,然后2-sat,复杂度是38(n+m)3^8(n+m),再想一想,其实可以枚举每个x是a,或者用A型车,再用2-sat,复杂度就是28(n+m)2^8(n+m)了,但是建图太鬼畜,程序一大半在建图,最后还是被卡成...

2017-07-24 12:40:41

阅读数:338

评论数:0

[字符串HASH][复杂度分析] NOI2017 .Day1 T2 蚯蚓排队

因为k只有50,所以先把所有询问的字符串拆开,加到hash表里,然后用链表模拟整个过程,暴力把新产生的或消失的字符串在hash表里更新答案,复杂度就是对的 具体做法和时间复杂度分析可以看lzz的知乎回答 https://www.zhihu.com/question/62597216#inclu...

2017-07-24 12:32:21

阅读数:840

评论数:0

[线段树维护BITSET] NOI2017 .Day1 T1 整数

把数转换成二进制维护 那么进位就是把之后一段连续1变成0,后面的0变成1 退位就是把之后一段连续的0变成1,后面的1变成0 这样可以用线段树维护 有一个nlog2nn\log^2n的暴力,就是把这个数的每一个为1的位取出来,用线段树加进去,a为负的同理如果把原来的01序列压位一下(我压了3...

2017-07-24 12:06:28

阅读数:1189

评论数:0

[DP][打表] Codeforces Round #424 .D Singer House

翻译下题解…考虑DP fi,jf_{i,j}表示从i-house中选出j条不相交的路径的方案数,那么答案就是fk,1f_{k,1} i-house可以从两个i-1-house中转移过来 枚举fi−1,jf_{i-1,j}和fi−1,kf_{i-1,k} 如果让根成为单独的一条路径,那么fi...

2017-07-17 14:36:53

阅读数:596

评论数:0

[分块][数学][瞎搞]Codeforces Round #424 .C Bamboo Partition

刚开始的做法是对的…然而越做头越昏,竟然用错误的例子把自己叉掉… 还好最后半个小时清醒了先列出式子要求最大的d满足 ∑i=1nd−((ai−1)%d+1)≤k\sum_{i=1}^n d-((a_i-1)\%d +1)\leq k 其中ai要先减一再取模是为了防止ai是d的倍数的情况,再推一...

2017-07-16 17:22:33

阅读数:539

评论数:0

[模拟][线段树]Codeforces Round #424. B Cards Sorting

直接按照题意模拟找最小值用线段树找就可以了#include <cstdio> #include <iostream> #include <algorithm> #include <vector> #include <map> #inclu...

2017-07-16 17:08:34

阅读数:374

评论数:0

[二分][杂题] Codeforces Round #424 .A Office Keys

第一次打vp… 第一题就做了挺久的,听gjghfd大佬说要打匈牙利,有点慌可以二分时间t,然后每个人找最左边的在t时间内能捡到且到达终点的钥匙,看是否有方案#include <cstdio> #include <iostream> #include <algorit...

2017-07-16 17:06:56

阅读数:179

评论数:0

[Notes][模板] 记(瞎写) · 后缀自动机

SAM后缀自动机,就是一个能接受一个字符串所有后缀的自动机,本质是字典树。考虑一个能接收一个字符串所有后缀的数据结构,显然字典树可以——只要把所有后缀加到字典树中,但是这样节点的个数是O(N2)O(N^2)的,接受不了,还有就是后缀树,但是后缀树的构造方法极其麻烦。这个时候后缀自动机就是很好的选择...

2017-07-16 17:02:23

阅读数:460

评论数:0

[后缀自动机][分块]HackerRank Week of Code 30 .Substring Queries

题意是给出n个字符串,有Q组询问,每次询问第x和第y个字符串的最长公共子串感觉这题会后缀自动机就挺水了… 因为字符串总长<=1e5,所以第一反应就可以分块 首先对每个串建后缀自动机因为后缀自动机可以O(串长)求出两个串的最长公共子串,所以如果询问的两个串有一个串长小于sqrt(总串长),...

2017-07-14 18:10:17

阅读数:327

评论数:0

[(可持久化)字典树 优化建图][2-SAT] LOJ#6036. && 雅礼集训 2017 Day4. 编码

老早以前的坑了 貌似好多地方都有这个题 因为每个串都只有一个问号,问号可取0可取1,这就是一个经典的2-SAT模型 但是直接做的话,边数是n2n^2级别的,不过因为是01串,可以用可持久化字典树优化建图(可能也可以不可持久化,但是我觉得可持久化比较方便)#include <cstdio...

2017-07-13 17:05:33

阅读数:459

评论数:0

[树的同构][二分][可并堆维护哈希] LOJ#6066 || BZOJ4928 && 2017 山东一轮集训 Day3. 第二题

这题一看就可以二分 那么解决这题的关键就变成了怎么对树进行哈希,以及怎么快速维护哈希值 想了一个下午想了一个比较靠谱的哈希方法。 用一个p进制数(p>n且为质数)来表示每一个节点,这个数有depth位,depth位这个节点的深度,那么这个数在p进制下第i位表示这个点的depth-i的祖...

2017-07-11 18:07:31

阅读数:495

评论数:0

[计数][容斥] LOJ#6065 || BZOJ4927 && 2017 山东一轮集训 Day3. 第一题

因为要选6根木棒,发现肯定是1,1,2,2或1,1,1,3形式。 可以枚举2和3的部分,然后推一推,容斥容斥就可以了 但是细节贼多#include <cstdio> #include <iostream> #include <algorithm> #incl...

2017-07-11 17:48:12

阅读数:538

评论数:0

[线段树][二分图 霍尔定理]LOJ#6062 && 2017 山东一轮集训 Day2. Pair

刚做过一道类似的题因为题目要求连续子序列,但是只要这个连续子序列和b序列两两对应,这就可以转化成一个二分图的模型。把b序列排序,一个ai就可以和b的一个后缀相连,可以看成一个覆盖某个后缀的线段,根据霍尔定理,排序后,bi至少要被i条线段覆盖,用线段树维护一下就可以了#include <ios...

2017-07-11 17:43:27

阅读数:577

评论数:0

[线段树][矩乘][DP]Codeforces Round 573D && RussianCodeCup Thanks-Round .Bear and Cavalry

首先可以证明把两个数列从小到大排列再对应匹配是最优的。 画画图可以发现,在有限制的情况下一个点,离它匹配的点的距离不超过2 这样就可以DP了 fif_i表示前i个点匹配的答案。 那么fi=max fi−1+ai∗bifi−2+ai∗bi−1+ai−1∗bifi−3+ai∗bi−1+ai−1...

2017-07-11 17:31:10

阅读数:319

评论数:0

[分块] Codeforces 436F && Zepto Code Rush 2014 F. Banners

考虑从大到小枚举c,考虑把bi>=c的人删去,然后就要求一个p使p*x最大,x为满足ai>=p的i的个数。 考虑把1~max(ai)分块,每块可以就出块中的最大值,然后要维护每块答案,当一块内的最大值要变化的时候暴力重构整个块,零碎的也暴力重构,因为快内最大值最多变化块的大小次,所以...

2017-07-10 23:11:19

阅读数:265

评论数:0

[线段树 || 主席树][Hash] HackerRank 101 Hack 49. Sorting Lists

传送门这题有两种做法考场上写了逐位确定的方法,但是没时间调了就交了暴力…先考虑区间1,如果里面不同的方案数小于k,那么任何一个1为前缀的序列都不是答案,否则1一定是答案的前缀,然后考虑2…可以用hash判重来记录一个区间里的方案数。#include <cstdio> #include ...

2017-07-08 21:15:53

阅读数:306

评论数:0

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