自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ws_fqk

AFO

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

原创 [挖坑]不想做&&不会的题

UPD:2016.1.23 先挖坑。。以后再填吧。。大多数是连要用的算法都没学过比如SAM,莫比乌斯反演,概率与期望什么的。。还有一些是太弱了连题解都看不懂的。。3308: 九月的咖啡店 1101: [POI2007]Zap 3998: [TJOI2015]弦论 4001: [TJOI2015]概率论 3926: [Zjoi20150]诸神眷顾的幻想乡 4008: [HNOI2015

2016-01-23 09:10:15 900

原创 [提醒]曾经犯的谜之错误

1.N,M输入反了。 2.LCT的access和cut操作后忘记pushup。 3.Splay的del操作后忘记pushup。

2016-01-13 10:39:10 781

原创 [挖坑]待学的算法

我太弱啦= =一大波东西没学,有很多东西还是有必要学一下的。可并堆 动态树分治 树套树 可持久化线段树 可持久化trie 可持久化平衡树 虚树 基环树 分块 莫队算法 块状链表 块状树 三分 后缀自动机 后缀树 整体二分 CDQ分治 K-D树 莫比乌斯反演 高斯消元 概率与期望DP 组合数学 set/map/rope/bitset/vector 计算几何

2016-01-12 22:43:39 883 3

原创 [挖坑]未解决的题

怎么也过不了的题QAQ3545: [ONTAK2010]Peaks 写的splay+启发式合并不知为何WA啊QAQ,然而网上都没这么写的。 3083: 遥远的国度 感觉是链剖sb题啊然而就是过不了,submit*20。

2016-01-08 21:37:00 869 1

原创 [颓废史]蒟蒻的刷题记录

QAQ蒟蒻一枚,其实我就是来提供水题库的。 以下记录从2016年开始。1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查询 3038: 上帝造题的七分钟2 线段树+剪枝1.2 1047: [HAOI2007]理想的正方形 二维单调队列维护最值1.4 2095: [Poi2010]Bridges 二分+混合图欧拉

2016-01-05 19:23:00 3288 6

原创 3036: 绿豆蛙的归宿 概率与期望 记忆化搜索

f[i]表示走到i点的期望。。然后就没然后了。。#include<iostream>#include<cstdio>using namespace std;int n,m,cnt;int ind[100005],head[100005];bool vis[100005];double f[100005];int next[200005],list[200005],key[200005]

2016-01-24 10:53:11 455

原创 3450: Tyvj1952 Easy 概率与期望 DP

维护一个最长连续’o’序列的期望就好了。。#include<iostream>#include<cstdio>using namespace std;int n;char s[300005];double p1[300005],p2[300005];double ans;int main(){ scanf("%d",&n); scanf("%s",s+1);

2016-01-24 09:31:46 322

原创 1419: Red is good 概率与期望 DP

考虑用f[i][j]表示剩下i张红牌,j张黑牌时的最大期望。 当i=0时,f[i][j]=0; 当j=0时,f[i][j]=i; 其他情况,f[i][j]=max(i/(i+j)(f[i-1][j]+1)+j/(i+j)(f[i][j-1]-1)). 于是滚动一下qwq。#include<cstdio>#include<iostream>using namespace std;int

2016-01-24 09:09:51 761

原创 2134: 单选错位 概率与期望

很简单的一道题啦。 ans=sigma(1/max(a[i],a[i+1]))#include<iostream>#include<cstdio>#include<cstring>#define ll long long using namespace std;int n,A,B,C,a[10000005];double ans;inline int read(){ int

2016-01-24 08:27:45 373

原创 1415: [Noi2005]聪聪和可可 概率与期望 记忆化搜索

终于决定入概率与期望的大坑qwq。。做的第一道题是几天前做的奖励关。。结果做完这个题才明白那个题到底为什么那样做。。 感谢PoPoQQQ大爷给我解答了许多问题。 感谢汤可因的优秀论文《浅析竞赛中一类数学期望问题的解决方法》。题解: 首先我们可以预处理出p[i][j]表示从聪聪在i可可在j聪聪下一步去的点是哪里,spfa或bfs都可以解决这个问题。然后我们可以用f[i][j]表示聪聪在i可可在j

2016-01-24 07:59:26 423

转载 【自用】 memset对于int、long long、float、double 的极值怎么清

链接:#include <stdio.h>int main(){ puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网址:blog.csdn.net/vmurder/article/details/46537613");}int”较“的原则:加法不爆。 极大值:0x7f 较大值:0x3f 较小值:0xc0 极小值:0x80lon

2016-01-24 07:41:19 478

原创 3339: Rmq Problem/3585: mex 莫队算法

莫队大法好。 如果一个数>=n显然不可能成为答案。。所以根本不用写什么线段树。。直接上莫队就行了。#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>using namespace std;int n,m,ans;int c[200005],sum[200005],belong[200005];str

2016-01-23 15:45:03 419

原创 2141: 排队 分块+树状数组

分块,每个块内套一个树状数组。 qwq开始数组开小了RE。。。 整块的树状数组维护,块外的暴力统计就好了。 看到hzwer写了个一维的很厉害的样子qwq没仔细看150+行啊。。 膜ws_yzy树套树随便虐此题qwq,虽然跑了我两倍的时间qwq。。。#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#

2016-01-23 15:22:05 389

原创 2002: [Hnoi2010]Bounce 弹飞绵羊 分块/LCT

似乎正解是LCT。。这也是我学LCT做的第一道题。。然而今天写了一发分块看起来已经碾压LCT了。。。两种都算模板级别的题了,分块更好写一些。LCT:#include<iostream>#include<cstdio>#define N 200005using namespace std;int n,m,next[N],tree[N][2],fa[N],size[N],s[N];bool r

2016-01-23 11:27:01 435

原创 2821: 作诗(Poetize) 分块

没太写过分块。。这个题还是给我提供了一些关于分块的思路的。PoPoQQQ大爷: 我们首先分块 然后预处理一些东西 首先是从第i块到第j块的答案 这个我们从第i块第一个点开始向右扫 开一个数组记录每个数的出现次数 扫到一个数就更改一下出现次数 同时更新答案 每扫完一块就记录一下答案 然后是前i块中每个数出现的次数 这个我们扫一遍数组 统计出第i块中每个数出现的次数 然后求前缀和即可

2016-01-23 11:24:37 386

原创 1061: [Noi2008]志愿者招募 费用流

好像有个叫单纯形法的东西?我不会qwq。。 Byvoid神犇的题解 好神啊。。要注意善于添加辅助变量将不等关系转化为等量关系, 由正负的平衡转化为网络流图中的流量平衡,实现模型的转化。#include<iostream>#include<cstdio>#include<cstring>#define inf 1000000007#define M 1005using namespac

2016-01-23 08:07:23 764

原创 1070: [SCOI2007]修车 费用流

想了一会儿还是不知道怎么处理顺序这个情况。。。于是看了题解(太弱啦qwq。。)膜hzwer大大 N辆车,M个工人。 把每个工人拆成N个点。记为A[i,j]表示第i个工人修倒数第j辆车。 每个车跟所有N*M个工人拆出的点连边。流量为1,费用为time[i,j]*k。 源和每辆车连边,N*M个点和汇连边,流量都为1,费用同为0。 为什么这么构图呢? 考虑第i个工人,他修

2016-01-22 20:47:59 431

原创 2245: [SDOI2011]工作安排 费用流

为什么SDOI原来都是考裸题。。qwq 直接根据题意连边跑费用流。。#include<iostream>#include<cstdio>#include<cstring>#define inf 1000000007#define M 505#define ll long long using namespace std;ll ans;int n,m,T,cnt=1;int hea

2016-01-22 19:51:48 331

原创 3171: [Tjoi2013]循环格 费用流

人太弱真是不能活qwq网上都说是裸题结果我还是没想出怎么做。。。 果然思考方向偏了真没治。。还是要抓住本质考虑:结果是每个点都在一个环里,这是大家都能想到的。更具体地说呢?每个点的入度和出度均为1,这种一分为二的思想,正好适合建立二分图啊!我太sb居然直接没往这个方向想。 想到就比较好做了,还是拆点,左边为入度右边为出度,S->左边每个点,流量1费用0,右边每个点->T,流量1费用0,中间相邻点

2016-01-22 18:54:55 369

原创 1877: [SDOI2009]晨跑 费用流

拆点费用流。。#include<iostream>#include<cstdio>#include<cstring>#define M 405#define inf 1000000007using namespace std;int n,m,T,cnt=1,ans1,ans2;int head[405],dis[405],q[405],path[405];bool vis[405];

2016-01-22 16:09:39 294

原创 1797: [Ahoi2009]Mincut 最小割 最小割+tarjan

还是引用鏼爷的题解吧。。。 我不会做qwq。 jcvb: 在残余网络上跑tarjan求出所有SCC,记id[u]为点u所在SCC的编号。显然有id[s]!=id[t](否则s到t有通路,能继续增广)。 ①对于任意一条满流边(u,v),(u,v)能够出现在某个最小割集中,当且仅当id[u]!=id[v]; ②对于任意一条满流边(u,v),(u,v)必定出现在最小割集中,当且仅当

2016-01-22 14:04:45 338

原创 3144: [Hnoi2013]切糕 思路题 最小割

sb不认真读题+sb的脑补能力。。 居然以为切面一定是平面。。居然以为x,y坐标可以不是整数。。回正题。。qwq 本题可以想象成一个矩阵,每个矩阵有一些值可以取,要求相邻格子的差不能超过D。 那么我们可以按高度分层建图,即每一个点,c(i,j,k-1)->c(i,j,k),然后高度差的问题,c(i,j,k)->c(x,y,k-d)。跑最小割就好了。#include<iostream>#inc

2016-01-22 09:58:41 416

原创 3757: 苹果树 树上莫队 位运算技巧

引用Vfleaking神犇[WC2013]糖果公园的一些题解。 本题也可以如此解决,神奇的莫队: 上一次询问用(curV, curU, curTi)表示,并且我们还保留了 visited[v]:v节点在不在curV到curU的路径上 col[v]:v节点的颜色(原题好像是糖果来着?我就叫颜色了。) occur[c]:颜色c在curV到curU的路径上出现的次数 outc

2016-01-22 08:14:23 383

原创 3289: Mato的文件管理 莫队算法+树状数组

还以为编号在1-n以内就没离散化结果RE。。。 裸的莫队。。树状数组维护一下逆序对。#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define ll long long #define lowbit(i) (i&(-i))using namespace std;int n,q,c[50005]

2016-01-21 21:06:34 311

原创 1832: [AHOI2008]聚会 LCA

每次取三个LCA讨论。。#include<iostream>#include<cstdio>#define N 500005#define inf 1000000007using namespace std;int n,m,cnt;int head[N],deep[N],fa[N][20];int next[N<<1],list[N<<1];inline int read(){

2016-01-21 19:53:07 314

原创 3781: 小B的询问 莫队算法

裸的莫队qwq。。#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define ll long long using namespace std;int n,m,k;ll ans,s[50005];int pos[50005],c[50005];struct node {int l,r,id;

2016-01-21 19:10:10 280

原创 2038: [2009国家集训队]小Z的袜子(hose) 莫队算法

原来这就是传说中的莫队算法。。感觉就是个暴力啊qwq。。。 莫队算法离线处理区间无修改查询问题。#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#define N 50005#define ll long long using namespace std;int n,m,pos[N],c[N];

2016-01-21 18:59:47 270

原创 2287: [POJ Challenge]消失之物 DP

f[i]表示容量为i的方案数,简单DP。 cnt[i][j]分类讨论,如果j<=w[i],cnt[i][j]=f[j],否则cnt[i][j]=f[j]-cnt[i][j-w[i]].#include<iostream>#include<cstdio>using namespace std;int n,m,f[2005],w[2005],cnt[2005][2005];inline int

2016-01-21 18:19:28 260

原创 3505: [Cqoi2014]数三角形 组合数学

找规律就行了。。 首先所有的情况是C((n+1)*(m+1),3)。 水平+竖直共线的情况是(n+1)*C(m+1,3)+(m+1)*C(n+1,3). 剩下的就是斜着的情况:枚举i,j,代表两点为(1,i),(j,1)。然后令d=gcd(i,j),那么两点之间一定有d-1个点(所以要保证d>=2),那么现在不合法的情况有2*(d-1)(n+1-i)(m+1-j)。注意有两个方向所以要*2。#

2016-01-21 16:39:00 312

原创 2400: Spoj 839 Optimal Marks 最小割

因为是找的最小割的题……所以使劲往这方面想还是能想出来的。。感觉如果是随便找的题连网络流都不一定看得出来啊qwq。。关于位运算,那就按位考虑啦,因为每一位都是独立的,所以只要单独处理就好了。我们要给一些点定值0或1。考虑对答案的贡献:如果一个是0一个是1才会贡献1,想到最小割模型:把点分成S集(代表0)和T集(代表1),每个割得代价为1,求最小代价。这样就好做多了,每一位都跑最大流就好了。。#inc

2016-01-21 16:30:05 260

原创 1711: [Usaco2007 Open]Dingin吃饭 最大流

两个二分图匹配合起来就好了。。中间限制流量为1。#include<iostream>#include<cstdio>#include<cstring>#define inf 1000000007using namespace std;int n,f,d,sum,cnt=1,S,T;int head[405],cur[405],dis[405],q[405];int next[50005

2016-01-21 15:00:55 290

原创 1458: 士兵占领 思路题 最大流

T_T我太弱了这个题都不会做。反向考虑: 可以把最小问题转化为最大问题:如果把格子填满,我们最多能拿走几个? 这样做法就很显然了。。行列建图就好了。。qwq 有时候脑子需要拐个弯T_T#include<iostream>#include<cstdio>#include<cstring>#define inf 1000000007using namespace std;int n,m,

2016-01-21 14:27:53 289

原创 1082: [SCOI2005]栅栏 二分+dfs+剪枝

首先贪心的性质是显然的,我们如果要取k个一定要取最小的k个,且尽量用最小的木材满足最大的需求,以减少浪费。 既然所取的k个是单调的,那么可以考虑二分,贪心的判断是否可行。 剪枝: 如果当前用了的+剩下所需最少的(即维护b[i]的前缀和)>所有的a。那么不可能合法,剪掉。qwq。。只想到这一个剪枝,题解还给提供了另一个,我感觉应该用处不大吧。。。就是如果下一个和这一个相同,那么可以不从第一块木材

2016-01-21 08:17:44 288

原创 2276: [Poi2011]Temperature 单调队列

维护一个L[i]单调不增的队列,且如果队首的L大于队尾的R就弹出。#include<iostream>#include<cstdio>#include<cstring>#define ll long long using namespace std;int l[1000005],r[1000005],q[1000005];int n,now,last=1,ans=1;inline in

2016-01-21 06:36:27 330

原创 4033: [HAOI2015]T1 树型DP

第一思路是用f[i][j]表示以i为根的子树中j个黑色的最大值,然后发现根本无法转移的样子qwq。。。。 于是换一种思路。。 用f[i][j]表示以i为根的子树中j个黑色对答案的最大贡献,这样我们就可以将子树内的和子树外的进行计算了。。 具体见代码。。#include<iostream>#include<cstdio>#include<cstring>#define ll long lo

2016-01-20 21:03:10 285

原创 4027: [HEOI2015]兔子与樱花 贪心

别人家的省选T_T 直接sb贪心就好了。。每次选最小的。。#include<iostream>#include<cstdio>#include<vector>#include<algorithm>#define N 2000005using namespace std;int n,m,ans,c[N];vector<int> a[N];inline int read(){

2016-01-20 18:18:28 392

原创 3997: [TJOI2015]组合数学 DP Dilworth定理

自己YY错了qwq。。。看了题解。。PoPoQQQ大爷: Dilworth定理:DAG的最小链覆盖=最大点独立集 最小链覆盖指选出最少的链(可以重复)使得每个点都在至少一条链中 最大点独立集指最大的集合使集合中任意两点不可达 此题中最大点独立集显然是一个集合满足集合中任意两点都是左下-右上的关系 DP一遍就能出解 复杂度O(Tmn)似乎也叫最长反链qwq,好像C

2016-01-20 10:30:04 461

原创 3931: [CQOI2015]网络吞吐量 最短路+最大流

。。题意说的很清楚了,先求最短路径图再拆点网络流。 居然没被long long坑,1A赞。#include<iostream>#include<cstdio>#include<queue>#include<cstring>#define inf 1e18#define ll long long #define pa pair<ll,int>using namespace std;i

2016-01-20 09:14:13 271

原创 4010: [HNOI2015]菜肴制作 拓扑排序+贪心

做完这个题感觉熟练掌握了PE自动机。 我还能说什么。。。开始想错了,直接贪心+拓扑排序,结果发现第三组样例就过不了。 第三组样例是 5->2 4->3,想了想是因为5的原因而使2到了后面。。于是我就将图反过来试了一下,手画了几组好像没问题。。交上去居然A了。。瞬间不知所措。。我真的只是猜猜。。#include<iostream>#include<cstdio>#include<queue

2016-01-20 08:03:49 375

原创 4034: [HAOI2015]T2 树链剖分+线段树

卧槽一开始建的单向边结果T的停不下来。 傻逼链剖,别人家的省选qwq。#include<iostream>#include<cstdio>#define N 100005#define ll long long using namespace std;int n,m,cnt,dfn,v[N],head[N],size[N],deep[N],fa[N],in[N],out[N],belon

2016-01-20 07:13:55 248

空空如也

空空如也

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

TA关注的人

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