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

hnjx2015 hashit

题意: 一个串,资瓷末端插入,删除一个字符,求每次操作后本质不同的子串个数; 题解: “可持久化”后缀自动机裸题,类似按zhi并查集的“可持久化”,复杂度O(N)O(N) 当时考场上的神犇大多是这么A的; 作死写了一发替罪羊树搞的后缀平衡树,代码感觉不长,实际比较长。。。 hash比较...

2017-01-25 19:46:08

阅读数:265

评论数:0

uoj221. 【NOI2016】循环之美

考完后非常令人伤心的题。。。 打表&&找规律&&数学推导…….. 我们得到了目标式子:Σni=1Σmj=1[(i,j)=1][(j,k)=1]\Sigma_{i=1}^n\Sigma_{j=1}^m[(i,j)=1][(j,k)=1] 这里的(i,j)表示gc...

2017-01-21 21:13:17

阅读数:353

评论数:0

矩阵树定理

又看了一遍。。。。。 在周冬《生成树的计数及其应用》中有证明; 核心是利用Binet-Cauchy公式 但: “如果图是一颗树,那么C的任一个n-1阶主子式的行列式均为1” 的结论 C好像是度数矩阵+邻接矩阵也没问题?试着证明下又对了对拍也没问题? 这样就能推出错误结论啦 有点方。...

2017-01-21 13:51:42

阅读数:160

评论数:0

2554: Color

#include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<=n;i++) using namespace std; typedef double db; typedef long long ll; const int N=1...

2017-01-11 12:21:56

阅读数:387

评论数:0

4521: [Cqoi2016]手机号码

比较基本的数位DP,限制都较为简单;#include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<=n;i++) #define rep2(i,k,n) for(int i=k;i>=n;i--) using namesp...

2017-01-06 09:43:55

阅读数:210

评论数:0

4553: [Tjoi2016&Heoi2016]序列

挺一般的思路,转变为三维偏序,然后cdq分治维护dp值就可以了 想了10min左右,写了20min左右,调了60min左右。。。 都是sb错误(只有1.5k啊,非得生成数据对拍才能看出吗?) 谨以此文,纪念debug能力越来越弱的自己#include<bits/stdc++.h>...

2017-01-02 22:00:13

阅读数:200

评论数:0

3925: [Zjoi2015]地震后的幻想乡

这道题运用了很多数学知识(唉,真羡慕你们高数好的…….) 首先我们扔掉提示。。。。。 尝试枚举最小生成树的最大边x,令g(x)g(x)表示答案<=x的概率 发现答案可以表示成∫10xg′(x)dx\int_0^1xg^{'}(x)dx 根据分部积分法,原式=1−∫10g(x)dx=∫...

2016-12-23 01:04:32

阅读数:237

评论数:0

4540: [Hnoi2016]序列

好像就我的做法麻烦,但是O(nlogn)O(nlogn)的树状数组加仅用于求最小值的酱油线段树; 首先,我们可以注意到对于每个询问均可以被其中的最小值切裂成两部分 以此为划分依据,答案可以分成4部分; (规定l[i]l[i]为i处向左第一个比a[i]小的位置+1,r[i]r[i]为i处向右第...

2016-12-22 00:41:32

阅读数:242

评论数:0

bzoj2277: [Poi2011]Strongbox

可证满足条件的一定是一个mod gcd(a[k],n)的循环群; 考虑mod n意义下的加法群以a[k]生成子群下的偏集划分; 可将问题放在mod gcd(a[k],n)意义下研究(并没有什么卵用…) 然后考虑所构成子群的非单位元最小值便可证;然后就是: 要找到一个数g,使得g|(n,a[...

2016-12-15 13:34:35

阅读数:300

评论数:0

bzoj2217:[Poi2011]Lollipop

容易发现题目给的条件对数值的维护增长很慢,故可使用调整法,具体细节见代码#include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<=n;i++) #define rep2(i,k,n) for(int i=k;i>=n...

2016-12-12 00:18:10

阅读数:307

评论数:0

BZOJ 4568: [Scoi2016]幸运数字

暴力合并线性基可以过?

2016-12-08 23:18:32

阅读数:133

评论数:0

3142: [Hnoi2013]数列

设差分数组a 有:ans=Σa(n−ΣK−1i=1a[i])ans=\Sigma_a(n-\Sigma_{i=1}^{K-1}a[i]) 可拆分a[i]的贡献解决问题 教训: 一开始的思路就是尝试移动开头,但没有想到差分求和,而是怎样求以数x结尾的方案数 然后果断转化模型,通过差...

2016-12-08 23:05:55

阅读数:161

评论数:0

bzoj4572: [Scoi2016]围棋

这道题我只会子集和变换优化的sb暴力(什么轮廓线插头都忘光了…) 考虑到合法状态的稀疏性(其实是你自己不会证明吧……),就可以放心暴力啦;#include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<=n;i++) using...

2016-12-07 15:23:25

阅读数:441

评论数:0

bzoj1115

差分后转变为阶梯博弈#include<cstdio> int u,n,op,l,x,ok; int main(){scanf("%d",&u); while(u--){ l=ok=0;scanf("%d",&n);op^=...

2016-12-04 17:08:31

阅读数:295

评论数:0

bzoj1921 CTSC2010 jewelry

大概是四节课写代码,三节课debug,七个长相差不多的dfs穿插其中…… 好了不吐槽了; 题意: 给定一棵点上有字母的树,和一个母串 求树上点两两之间 N2N^2 条路径在母串中匹配次数和这里采用的基本是《CTSC2010珠宝商新解》–许昊然的做法 首先考虑两种不同的暴力...

2016-12-04 00:50:22

阅读数:555

评论数:0

51nod算法马拉松20

先写一下做出的题吧(感觉自己好弱。。。。。) A: 拆分贡献,组合数搞一搞;#include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<=n;i++) #define rep2(i,k,n) for(int i=k;i&g...

2016-11-28 00:06:53

阅读数:217

评论数:0

bzoj1893&2371

2004年的论文《优化,再优化》 中所讨论的题的加强版(其实并没有加强多少……); 论文最后给出了n−√\sqrt{n}的复杂度; 其实可以用生成函数给出一种logn\log{n}的做法,而且更加清晰; 首先有递推式: g(i,j)=g(i−1,j)+g(i−1,j−1)+1g(i,j)...

2016-11-27 19:10:59

阅读数:122

评论数:0

hdu5760

区间Dp,经典问题最长上升公共子序列的变式; 计数需要去重,思想在于对于本质相同的序列均将其表示到最大的哪个; 然后dp时依据包含关系就可以去重啦;#include<cstdio> #include<algorithm> #include<cstring> ...

2016-11-17 09:08:13

阅读数:117

评论数:0

sd省队集训二轮tree

感觉这题应该跟hdu5290很像,结果它们果然系出同源; 这个题应该处于更根源的位置; 根据算法3的思想,令dp[i][j][k]表示以i为根的子树且已经使用了j个黑点,最深未被覆盖的长度或者沿着根最多能覆盖多少长度。 但是这样状态会很多无法存下。 考虑将k表示成还拥有一个黑点k...

2016-11-14 18:04:30

阅读数:171

评论数:1

hdu5290

tree dp; 考虑祖先对孩子的影响: 有g(i,j)表示 i 这个节点获得先祖的 j 深度的赏赐覆盖全部子树的最小代价 考虑孩子对祖先兄弟等的影响: 有f(i,j)表示 i 这个节点覆盖了全部子树且向外延伸j的最小代价 转移显然;#include<cstdio> #inc...

2016-11-13 11:33:16

阅读数:145

评论数:0

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