摘要: 这道题我们经过简单的推测便可得知3个之前特判,四个之后就成为了一般状况,就是我们每侧都是走整个整个的|_|之后零的走|||。 考试的时候包括平时做题,许多正确的感性比理性证明要强得多。 阅读全文
posted @ 2017-08-05 08:37 TS_Hugh 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 这是一种最小割模型,就是对称三角,中间双向边,我们必须满足其最小割就是满足题目条件的互斥关系的最小舍弃,在这道题里面我们S表示文T表示理,中间一排点是每个人,每个人向两边连其选文或者选理的价值,中间每两个点之间连他们的高兴度,然后我们就要分析,并作出改变,对于任意两个点我们要么割一个z要么两边某一边 阅读全文
posted @ 2017-08-05 08:35 TS_Hugh 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 第一步我们发现对于每一个格子,我们只有翻和不翻两种状态,我们发现一旦确定了第一行操作,那么第二行的操作也就随之确定了,因为第一行操作之后我们要想得到答案就得把第一行全部为0,那么第二行的每一个格子的操作都会对应于其上的格子的改变,而且也只有第二行能救他了。因此我们只要知道第一行的操作其他的就全都可以 阅读全文
posted @ 2017-08-05 08:33 TS_Hugh 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 这道题的内存…………………真·精神污染……….. 这道题的思路很明了,我们就是要找每一个路径包含了多少其他路径那么就是找,有多少路径的左右端点都在这条路径上,对于每一条路径,我们随便选定一个端点作为第一关键字,另一个作为第二关键字,于是就有了两维限制,按照主席树的一般思路,我们把建树顺序作为一维,然 阅读全文
posted @ 2017-08-05 08:31 TS_Hugh 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 我们直接按父子关系建主席树,然后记录倍增方便以后求LCA,同时用并查集维护根节点,而且还要记录根节点对应的size,用来对其启发式合并,然后每当我们合并的时候我们都要暴力拆小的一部分重复以上部分,总时间复杂度为O(n*log),因为每个的节点只会作为小的部分合并,因此他所在的一小部分至少变大2倍,对 阅读全文
posted @ 2017-08-05 07:24 TS_Hugh 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 板子题,只是记得负数加fix最方便 #include <cstdio> const int A=19,N=100010; namespace FIFO { char ch,B[1<<20],*S=B,*T=B; #define getc() (S==T&&(T=(S=B)+fread(B,1,1<< 阅读全文
posted @ 2017-08-05 07:06 TS_Hugh 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 受惯性思维的影响自动把二进制状态认为是连与不连......... 我们这里二进制状态表示的是奇偶,这样的话我们f[i][j][k]表示的就是前i个城市用了j个边他前k个城市的奇偶状态,然后想想怎么转移,我们要是深搜就会从一开始一直搜每搜到一个最终状态就是一个答案,然后状态转移同理,我们f[1][0] 阅读全文
posted @ 2017-08-05 06:27 TS_Hugh 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 这道题的暴力分还是很良心嘛~~~~~ 直接刚的话我发现本蒟蒻只会暴力,矩乘根本写不出来,然后让我们找一下规律,我们发现如果我们把这个序列在mod k的意义下摆出,并且在此过程中把值为1的的数减一,我们发现他可以成为一段一段的被0(我们在此只关注减1变为0的点)区间,我们继续分析我们分析出来了这样的性 阅读全文
posted @ 2017-08-04 21:46 TS_Hugh 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 我们观察数据:树套树 PASS 主席树 PASS 一层一个Trie PASS 再看,异或!我们就把目光暂时定在01Tire然后我们发现,我们可以带着一堆点在01Trie上行走,因为O(n*q*30+m*30)是一个可选复杂度。 我们想一下我们正常的时候的01Trie其实是通过在每一层比较大小来确定这 阅读全文
posted @ 2017-08-03 21:03 TS_Hugh 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 外面是树状数组,里面是动态开点线段树,对于查询我们先把有关点找出来,然后一起在线段树上行走,这样就是单个O(log2)的了 阅读全文
posted @ 2017-08-03 13:20 TS_Hugh 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 既然是最小费用最大流我们就用最大流来限制其一定能把每天跑满,那么把每个表示天的点向T连流量为其所需餐巾,费用为0的边,然后又与每天的餐巾对于买是无限制的因此从S向每个表示天的点连流量为INF,费用为一个餐巾的费用的边,然后我们考虑怎么用旧餐巾,我们用旧餐巾,要既不影响本点流量,也不影响本点费用,因此 阅读全文
posted @ 2017-08-03 12:54 TS_Hugh 阅读(232) 评论(0) 推荐(0) 编辑
摘要: #define int long long using namespace std; signed main(){ 这个题一看就是图论题,然后我们观察他的性质,因为一个图论题如果没有什么性质,就是真·不可做...... 每个疯子只有一个出度,因此我们YY一下:{ 这是一个有向图,所以,我们可以Tarjan,然后我们把点分为强联通分量内,和强联通分量外,然后我们从强联通分量内的点... 阅读全文
posted @ 2017-08-02 14:49 TS_Hugh 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 我们先把所有最左端对应的最优右端入堆,eg: z 在[l,r](由题目给出的L,R决定)之间的最优解 y,然后出堆以后,再入堆z,y-1,z,y+1,那么我们只需要用st找最大前缀和就好了(ST是一种用来解决RMQ问题的方法他的应用也就限于此了) 阅读全文
posted @ 2017-08-02 06:33 TS_Hugh 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 这题真刺激...... I.关于Kruskal重构树,我只能开门了,不过补充一下那玩意还是一棵满二叉树。(看一下内容之前请先进门坐一坐) II.原来只是用树上倍增求Lca,但其实树上倍增是一种方法,Lca只是他的一种应用,他可以搞各种树上问题,树上倍增一般都会用到f数组。 |||.我们跑出来dfs序 阅读全文
posted @ 2017-08-01 21:37 TS_Hugh 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 这个题应该是很容易想到贪心的,只要可是怎么贪才是科学的呢?我们分析一下题干,对于每个边只能一进一出因此,对于树上的一棵子树,我们只要一进子树就必须遍历完,因此我们只能进行一遍 dfs() 然后我们发现 dfs() 一遍的时间是一定的,然后见每个妹子的时间就在这个时间轴上,分析完了,我们说一下要贪什么 阅读全文
posted @ 2017-08-01 11:44 TS_Hugh 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 一开始一脸懵逼后来发现,他不就是割吗,我们只要满足条件就割就行了,于是我们把他连了P*Q*R条边,然而我们要怎样限制D呢?我们只要满足对于任意相邻的两条路,只要其有个口大于D就不行就好了因此我们只要把每个点向离他D距离的下面的店连一条Inf连线就可以啦,因此我们就满足了一定是所有相邻的路径上存在不超 阅读全文
posted @ 2017-07-30 21:47 TS_Hugh 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 我们只要把他们可以有的限制用流量限制,再用两者关系限制一下就可以开心的跑了。 阅读全文
posted @ 2017-07-30 21:34 TS_Hugh 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 用网络流水二分图的模型(存一下板子) 阅读全文
posted @ 2017-07-30 21:28 TS_Hugh 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 打记录的题打多了,忘了用开维记录信息了......我们用f[i][j][l][k]表示已经完成了i次攻击,随从3血剩j个,2血剩l个,1血剩k个,这样我们求出每个状态的概率,从而求出他们对答案的贡献并加和,一开始我用的期望忘了转移的时候不能用1而要用概率...... 阅读全文
posted @ 2017-07-30 21:26 TS_Hugh 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 这个东西考试的时候一眼以为状压就压炸了考试又了一下午.....最后我打出来发现后几个点10min都过不去,我大概算了一下,可能是吧.......最后一脸懵逼的我去怂了正解,我们发现只要确定了顺子就可以贪心了,所谓贪心就是在扔相同数码牌的基础上从四带二(对),四带二,三带二,三带一,开始贪心,我们的二 阅读全文
posted @ 2017-07-30 21:19 TS_Hugh 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 读了一下题就会很愉快的发现,这个数列是关于p的幂次的斐波那契数列,很愉快,然后就很愉快的发现可以矩阵快速幂一波,然后再一看数据范围就......然后由于上帝与集合对我的正确启示,我就发现这个东西可以用欧拉函数降一下幂,因为两个数一定互质因此不用再加一个phi(m),于是放心的乘吧宝贝!! 阅读全文
posted @ 2017-07-30 20:55 TS_Hugh 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 这些圆一定是在同一水平面上的,由于他们没有相交,因此我们发现他们每个人与外界关系可以分为,1.存在并圈圈 2.存在圈圈并被割,因此我们把所有的圆都加1,把被割的在加1,就可以啦,因此我们开一个线段树,维护一段区间有没有被全部覆盖 阅读全文
posted @ 2017-07-30 20:44 TS_Hugh 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 性质:我们把最小生成树建出来,如果其距离符合那么就是对的,不符合就是错的 因为这是个n^2的图所以不能Kruskal只能Prim 阅读全文
posted @ 2017-07-30 20:39 TS_Hugh 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 这是一道比较水的期望概率dp但是考场想歪了.......我们可以发现奇数一定是不能掉下来的,因为若奇数掉下来那么上一次偶数一定不会好好待着,那么我们考虑,一个点掉下来一定是有h/2-1个红(黑),h/2+1个黑(红),而且一定是差不多相间的(我就是因为没有看出来这里才会去想组合数,然后......) 阅读全文
posted @ 2017-07-30 20:34 TS_Hugh 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 这个题很容易想到正解就是缩点找入度为零的点,那么我们考虑一种特殊情况就是,一个入度为零的点我们不访问他就知道他是不是凶手,那么这样的话就是:I. 他是一个真·孤立的点 II. 他在图里但是在他的强联通分量里只有他一个而且他能到达的所有点都能被其他入度为零的点所达到 ,这个细节70分....... . 阅读全文
posted @ 2017-07-28 06:35 TS_Hugh 阅读(186) 评论(0) 推荐(0) 编辑