gjghfd

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

排序:
默认
按更新时间
按访问量

[ Xor最小生成树 分治 字典树 ] Codeforces888G Xor-MST

裸的 xorxorxor 最小生成树。 枚举每一位,把这一位为 000 的放在一起形成一个连通块,为 111 的放在一起形成一个连通块,之间用字典树求一条最小边,然后分治做。 #include<bits/stdc++.h> using names...

2018-05-21 09:38:45

阅读数:14

评论数:0

[ 高斯消元 ] [ SDOI2017 ] BZOJ4820 硬币游戏

假设匹配到一个串后不会停止。 设 pipip_i 为第一个匹配到 iii 的概率,pxpxp_x 为当前没有匹配到任何串的概率。显然 pipip_i 就是答案。 对于第 iii 个串,我们考虑由一个没匹配到任何串的字符串接上它形成的串。 显然出现的概率为 px⋅12mpx·12mp_x·{1...

2018-05-17 19:55:02

阅读数:17

评论数:0

[ 分数规划 费用流 KM算法 ] [ SDOI2017 ] BZOJ4819 新生舞会

分数规划裸题 #include<bits/stdc++.h> using namespace std; typedef double db; const int N=110; const db INF=1e18; const db Eps=1e-7...

2018-05-17 13:58:08

阅读数:31

评论数:0

[ DP FWT 链分治 ] [ SDOI2017 ] BZOJ4911 切树游戏

题解 #include<bits/stdc++.h> using namespace std; char nc() { static char buf[100000],*p1=buf,*p2=buf; return p1==p2&a...

2018-05-17 10:20:51

阅读数:78

评论数:0

[ 状压DP ] [ Snoi2013 ] BZOJ3590 Quare

一个双连通图一定可以由一个点不断套上环形成。那么考虑DP,可以每次选一条链,然后两端和原集合连起来更新。 设 fSfSf_S 表示集合 SSS 的答案。 因为要选一条链,所以还要维护 h[S][x][y]h[S][x][y]h[S][x][y] 表示把 SSS 集合中的点连成一条链,两端为 x...

2018-05-16 10:52:49

阅读数:20

评论数:0

[ 分治FFT ] HDU5730

分治FFT裸题 #include<bits/stdc++.h> using namespace std; typedef double db; const int P=313; const int N=100010; const db Pi=aco...

2018-05-11 17:31:38

阅读数:18

评论数:0

[ 线段树 泰勒展开 ] Codechef April Challenge 2018 Division 1 Chef at the Food Fair

大佬教我做题 ans=∏i=LR(1−pi)=eln∏Ri=L(1−pi)=e∑Ri=Lln(1−pi)ans=∏i=LR(1−pi)=eln⁡∏i=LR(1−pi)=e∑i=LRln⁡(1−pi)ans=\prod_{i=L}^R (1-p_i)=e^{\ln{\prod_{i=L}^R (1...

2018-04-18 15:47:31

阅读数:64

评论数:0

[ wqs二分 ] Codeforces958E2 Guard Duty (medium)

裸的wqs二分。 #include<bits/stdc++.h> using namespace std; const int N=500010; int k,n,m; int a[N]; int s[N]; double f[N]; int main...

2018-04-17 15:02:48

阅读数:51

评论数:0

[ 树形DP 贪心 ] Codeforces958B2 Maximum Control (medium)

可以发现最优的选点方案一定包含直径的 222 个端点,而且选的一定是叶子节点。 把直径的一个端点作为根,那么所有方案都会选根。这样每次多选一个点都是一段从叶子向根的路径。记下所有路径,每次取最大值就好了。 #include<bits/stdc++.h&gt...

2018-04-17 13:45:56

阅读数:22

评论数:0

[ 双连通分量 ] Codeforces962F Simple Cycles Edges

发现一条边是合法的当且仅当它在一个点双连通分量内且这个点双连通分量是个简单环(边数=点数)。然后做遍 tarjantarjantarjan 就好了。 #include<bits/stdc++.h> using namespace std; const ...

2018-04-14 12:46:58

阅读数:72

评论数:0

[ 斯特林数 ] Codeforces961G Partitions

显然最终答案中 wiwiw_i 的系数是相等的。我们尝试计算 wiwiw_i 的系数。 因为 iii 和 jjj 在同一集合中会使 wi,wjwi,wjw_i,w_j 的系数加 111 ,所以 wiwiw_i 的系数可以表示成 ∑j=1ngi,j∑j=1ngi,j\sum_{j=1}^n g_...

2018-04-07 14:19:12

阅读数:25

评论数:0

[ 后缀数组 ] [ SDOI2008 ] BZOJ4698 Sandy的卡片

先差分,然后就转化为求最长公共子串。 将所有串依次接在一起,之间用分隔符隔开。那么就是求分属 nnn 个串的后缀的 lcplcplcp 最大值。 求出后缀数组,二分答案,把 heighti≥midheighti≥midheight_i\geq mid 的区间找出来,判断是否有 nnn 个串就...

2018-04-03 21:12:05

阅读数:20

评论数:0

[ 后缀数组 ] [ ONTAK2015 ] BZOJ4278 Tasowanie

后缀数组模板题。 把 BBB 接 AAA 后面,然后每次贪心地选 rankrankrank 小的一边就好了。 #include<bits/stdc++.h> using namespace std; const int N=400010; int...

2018-04-03 17:57:28

阅读数:19

评论数:0

[ 树链剖分 后缀自动机 ] Codeforces504E Misha and LCP on Tree

对原树树链剖分,那么一条链可以表示成 O(logn)O(log⁡n)O(\log n) 段区间。然后问题就转化为求两段区间的 lcplcplcp ,将每条重链正反都加入一个字符串中,构建出后缀自动机,求 lcalcalca 即可。 时间复杂度 O(nlogn+mlog2n)O(nlog⁡n+ml...

2018-03-30 19:52:27

阅读数:40

评论数:0

[ 线性基 ] Codeforces504D Misha and XOR

维护所有出现过的数构成的线性基,由于要输出方案,对于每个向量还要记一下它由哪些值异或而来。 用 bitsetbitsetbitset ,复杂度为 O(n332)O(n332)\mathcal{O}({n^3\over 32}) 。 #include<bits/stdc...

2018-03-30 14:25:55

阅读数:26

评论数:0

[ 康托展开 树状数组 ] Codeforces504B Misha and Permutations Summation

利用康托展开可以在排列与变进制数间转化,其中变进制数就是从低到高第 iii 位的权值为 i!i!i! 的数。求答案时二分一下就好了。 #include<bits/stdc++.h> using namespace std; const int N=20...

2018-03-29 20:22:13

阅读数:23

评论数:0

[ 背包 ] VK Cup 2018 - Round 2 Codeforces924E Wardrobe

容易发现答案一定可以表示成是一段 b[i]=0、一段 b[i]=1 、一段 b[i]=0 。 先对问题做一个转化:将下端在 [ l,r ] 改为上端在 [ max-r,max-l ] ,相当于将原答案反过来。然后可以发现对于两个 b[i] 相等的相邻块,a[i] 大的在下面一定比 a[i] 小的...

2018-03-28 20:48:05

阅读数:28

评论数:0

[ 杂题 树状数组 ] VK Cup 2018 - Round 2 Codeforces924D Contact ATC

假设当风力为 −w−w-w 时,点 iii 在 titit_i 时刻经过 000,当风力为 www 时在 t′iti′t_i' 时刻经过 000 。 显然在风力从 −w−w-w 变化为 www 的过程中,点 iii 经过 000 的时刻也会从 titit_i 变到 t′iti′t_i' ,而且这...

2018-03-28 18:15:31

阅读数:68

评论数:0

[ 决策单调性优化DP ] 计蒜客 是男人就过 8 题 H Sign Location

%%%LargestJN 显然标志放在车站上是最优的。 令 fi,jfi,jf_{i,j} 表示放了前 iii 个标志,最后一个标志在 jjj 位置的最小代价,转移推下式子就行了。 打个暴力发现满足决策单调性,分治做就好了。 讲下怎么推式子。 最终 kkk 个标志把 nnn 个车站分成了...

2018-03-27 12:58:07

阅读数:143

评论数:5

[ 杂题 复杂度分析 ] Codeforces955F Heaps

对于 k=1k=1k=1 ,可以直接树形DP求出答案。 对于 k>1k>1k>1 ,显然 maxdepth<logknmaxdepth<logk⁡nmax_{depth}dpi,jdpi,jdp...

2018-03-26 17:43:20

阅读数:78

评论数:0

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