自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gjghfd

今日はまた新しい一日でした

  • 博客(11)
  • 收藏
  • 关注

原创 [ 并查集 复杂度分析 杂题 ] Codeforces920E Connected Components?

记原图的补图中每个点的度数为 didid_i 。 先找出 didid_i 最小的点,将与其有边相连的点作为一个连通块,其他每个点单独作为一个连通块。暴力枚举 222 个连通块,再枚举其中的点,查询是否有边,有边则合并。 这样显然是正确的,然后就是复杂度的问题。 由于刚开始选的是 didid_i 最小的点,所以 di≤⌊mn⌋di≤⌊mn⌋d_i\le \lfloor{m\over n}\rf...

2018-02-27 14:15:49 526

原创 [ 线段树 树状数组 ] Codeforces935F Fafa and Array

先考虑询问。 对于边界的点直接更新答案。 对于不在边界上的点:若 ai−1≤aiai−1≤aia_{i-1}\le a_i 且 ai+1≤aiai+1≤aia_{i+1}\le a_i ,增大 aiaia_i 时答案的增加量为 2x2x2x 。若 aiaia_i 在 ai−1ai−1a_{i-1} 和 ai+1ai+1a_{i+1} 之间,设 t=max(ai−1,ai+1)−ait=...

2018-02-27 10:54:53 359

原创 [ 莫队 哈夫曼树 ] Codeforces700D Huffman Coding on Segment

莫队。每次询问不断将值小于 n−−√n\sqrt n 的合并,剩下的用构建哈夫曼树的方法来做就可以了。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=100010;struct Node{ int l,r,id;}c[N];int k,n,m,S,L=1,R;...

2018-02-26 14:33:02 269

原创 [ tarjan ] Codeforces700C Break Up

先枚举删一条边,然后找出新图中所有的桥,可以发现如果一条边是桥且在 sss 到 ttt 的路径上,将其删去一定会使 sss 与 ttt 不连通。求个最小值就好了。#include<bits/stdc++.h>using namespace std;const int N=1010;const int M=30010;int k,n,m,S,T,x,y;int w[M]...

2018-02-26 10:02:17 333

原创 [ 带修改莫队 ] Codeforces940F Machine Learning

直接上带修改莫队。维护 mexmexmex 只需要对权值分块,每块记录出现次数,查询时找到第一个有数没出现过的块,然后在块中枚举。#include<bits/stdc++.h>using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2...

2018-02-26 07:22:27 482

原创 [ 有上下界网络流 ] Codeforces704D Captain America

假设 r≤br≤br\le b 。 把每一行作为左边的点,每一列作为右边的点建一张二分图。 每个点在对应的行列间连边,流量上限为 111 。这条边流量为 111 表示选红色,否则表示选蓝色。 对于左边的一个点,设右边与它相邻的点数为 sss ,它的限制为 ddd ,那么通过这个结点的流量 fff 满足 |2f−s|≤d|2f−s|≤d|2f-s|\le d s−d2≤f≤s+d2s−d2...

2018-02-25 14:21:34 300

原创 [ 杂题 ] Codeforces685C Optimal Point

二分答案,对于每个点求出满足的区域,求出这些区域的交。一个区域可以表示成: ...≤x+y+z≤......≤x+y+z≤......\le x+y+z\le ... ...≤x+y−z≤......≤x+y−z≤......\le x+y-z\le ... ...≤x−y+z≤......≤x−y+z≤......\le x-y+z\le ... ...≤−x+y+z≤......≤−x...

2018-02-25 09:20:15 427

原创 [ 树状数组 ] BZOJ5170

BZOJ3580的简化版。 记 fifif_i 表示第 iii 个数前面比它大的数的个数。 若 fi≤kfi≤kf_i\le k ,在 kkk 次操作后它前面所有数一定都比它小,否则它最终的位置为 i−ki−ki-k 。 把所有 fi≤kfi≤kf_i\le k 的数排一遍序,依次放入没有数的位置就好了。#include<bits/stdc++.h>using namesp...

2018-02-24 21:09:09 379

原创 [ DP ] Codeforces938F Erasing Substrings

显然肯定有一种方案使删的每一段子串在原字符串中是互不包含的,因为包含和相邻是等价的。 那么有一个简单的DP: 设 fi,jfi,jf_{i,j} 表示删完后还有 iii 位,已删除的长度为 jjj 时的最优答案。 由于 fi,jfi,jf_{i,j} 是个字符串,这样复杂度是 O(n3logn)O(n3log⁡n)O(n^3\log n) 的。 然后考虑能否不记字符串。注意到每个状态都是答...

2018-02-24 19:40:14 535

原创 [ 博弈论 ] Codeforces919F A Game With Numbers

发现数字的位置是没有影响的,那么可以用隔板法求出状态数为 (124)2=245025(124)2=245025{12\choose 4}^2=245025 。 然后不停用已确定的状态更新其他状态就好了。#include<bits/stdc++.h>using namespace std;typedef unsigned long long ull;const int N...

2018-02-10 13:43:52 386

原创 [ 数论 ] Codeforces919E Congruence Equation

假设 n=Ap+B(B<p)n=Ap+B(B<p)n=Ap+B(BB⋅aAp+B≡b ( mod p )B·aAp+B≡b ( mod p )B·a^{Ap+B}\equiv b ~(~mod~p~) B⋅aA+B≡b ( mod p )B·aA+B≡b&n

2018-02-01 13:16:33 701

空空如也

空空如也

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

TA关注的人

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