自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Patrickpwq

佛系

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

原创 此博客正式启用

原地址:http://www.cnblogs.com/Patrickpwq 把被咕咕咕的几篇补上了过后 以后就用csdn了  18.11.8

2018-11-08 22:24:31 182

原创 【POI2014】KUR-Couriers(主席树)

对于询问[i,j] 在[1..n]中我们看看小于mid的数字有多少个,显然如果个数的两倍<=j-i+1那么[1..mid]中就不存在这样的数, 反之检测大于mid有多少个 当然 如果两个都不行,就返回0 是可以递归的 #include<bits/stdc++.h> #define N 500005 using namespace std; int n,m,a[N],r...

2018-11-08 22:22:06 146

原创 【NOIP模拟】T1 发电机(递推逆元+期望)

期望是有线性性质的 考虑每个点的概率 由于一个点的子树放了后 它就不能再放了 换句话说 这个点是子树中第一个通电的 也就是说这个点的通电概率是1size[i]1size[i] 题目中又说了每个点的编号大于儿子们 于是就不用dfs了 只需递推即可 把所有点的概率相加 那还要求出逆元 这里提供一种逆元的线性递推方式 #include<bits/stdc++.h> #defi...

2018-11-08 22:21:14 132

原创 【USACO15JAN】草鉴定Grass Cownoisseur(缩点+分层图?)


 蒟蒻好紧张啊 蒟蒻好紧张啊 蒟蒻好紧张啊 蒟蒻好紧张啊 一开始方向好像走错了 乱推了个拓扑的式子 然后FST了 然后还不肯放弃 挣扎了20分钟 又受到了刚上来都打完球了的ldx的diss "我靠,这么傻逼的题你还没A吗" 好吧的确是傻逼题 先缩点 设s是1所在的scc的编号 考虑逆行的使用姿势 对于一个可以从s出发到达的点 逆行到一个可以到达s的点 然后这个东西你...

2018-11-07 22:04:00 128

原创 【洛谷 P3398】仓鼠找sugar(lca)

听了教练的考前须知 蒟蒻紧张的要死 只想做信心题 同时满足:c或者d在x子树里 a或者b在y子树里 其中x=lca(a,b),y=lca(c,d) #include<bits/stdc++.h> #define N 100005 using namespace std; template<class T> inline void read(T &x) { ...

2018-11-06 14:45:00 129

原创 【ZJOJ2010】数字计数(数位DP)

设f[i][j][p]表示长度为i 最高位为j p出现的个数 显然 f[i][j][p]=sigma{f[i-1][k][p]} 其中k是次高位 但是最高位出现的那么多次都没有被我们算进去 但是很显然只需要加上(i-2)^10就阔以了 然后常规的分[1,b],[1,a-1]解决 常规的分成两部分 一部分最高位小于最高位(似乎有点怪怪的??) 另一部分就是剩下的 在这里只说下另一部分 算...

2018-11-06 11:57:00 199

原创 【USACO15DEC】最大流Max Flow(树上差分)


 听了教练的考前须知 蒟蒻紧张的要死 只想做信心题 #include<bits/stdc++.h> #define N 50005 using namespace std; int n,k,tot,first[N]; struct Tree { int to,next; }edge[2*N]; inline void addedge(int x...

2018-11-06 10:30:00 150

原创 【洛谷11月月赛T3】【P4996】咕咕咕(组合数)

迟到的题解 昨天乱翻的时候感觉这道题挺有意思的 一眼看过去状态压缩乱搜 转移方程大概是 设f[i]表示从0转移到i的遗憾值之和 f[i]=sigma(f[j])+val[i]*dis[i] dis[i]=sigma(dis[j]) 其中j是i的子集,dis[i]表示从0转移到i的方案数之和 妙啊有70分了 // luogu-judger-enable-o2 // luogu-judger...

2018-11-06 09:56:00 191

原创 【BZOJ 4247】挂饰(背包变形)


 虽然转移方程可以一眼看出 但是烦就烦在为何要排序 有人说这是一个贪心,又有人说这是一个保障正确性的。 就按照贪心的想法好了:在保证正确性的情况下尽量多的挂钩。 #include<bits/stdc++.h> #define N 2005 #define INF 0x3f3f3f3f using namespace std; int n,f[N][N];...

2018-11-05 22:10:00 136

原创 【NOIP 校内模拟】T3 忘了是啥名字了(dfs序+树状数组)

对于当前新加入的一条路径 他产生的贡献分为两种 1.另一条路径的LCA在当前路径上 2.当前路径的LCA在另一条上 对于情况1: 可以维护当前点到根节点有多少个LCA,查询只需查询u,v,-2*lca(u,v),修改需要对lca的子树+1 对于情况2: 显然的树上差分,查询就是lca子树的前缀和,修改u++,v++,lca-2 即开两个树状数组,一个支持单点查询+区间修改,一个支持单点修...

2018-11-05 20:30:00 140

原创 【NOIP 校内模拟】T2 规避(容斥+最短路计数)

可以先不管符合条件的 先统计出所有的可能走法(最短路条数*最短路条数) 然后减去会相遇的 会相遇的分为在点相遇和在边相遇 在点(设为p)相遇:先保证点在最短路上 然后从s到p的最短路等于从t到p的最短路 在边(设为(x,y,z))相遇:同样需要保证边在最短路上(需要判断三次 同样玄妙♂) 以及相遇的地方一定在边上(两条不同的最短路的两倍不超过总长 这个姿♂势可以记住) 挺玄妙的 #inc...

2018-11-05 16:50:00 116

原创 【NOIP 校内模拟】T1 line(带权并查集)

很无奈 离正解就差一句话 简单的带权并查集 没啥好说的 也可以差分约束 #include<bits/stdc++.h> #define N 100005 #define M 200005 #define D 10005 using namespace std; template<class T> inline void read(T &x) { x...

2018-11-05 13:58:00 124

原创 【NOIP 校内模拟】T1 优美的序列(二分+st表+卡常)

我是菜鸡 我是蒟蒻 我好菜 ak一定是区间最小的值,且是所有数(包括自己)的最大公约数 我没看出来 没救了 noip爆零了 回家养猪了 没学上了 怎么办 gcd有单调性 gcd有单调性 gcd有单调性 gcd有单调性 gcd有单调性 可以二分 可以二分 可以二分 可以二分 要说多少遍才记得到 我没想到 没救了 noip爆零了 回家养猪了 没学上了 怎么办 stl少用 stl少用 stl少...

2018-11-02 17:00:00 222

原创 【NOIP校内模拟】T2 飞越行星带(kruskal)

【NOIP校内模拟】T2 飞越行星带(kruskal) 啥玩意儿啊 题都没读懂 飞船要飞过这个行星带 就必须穿过每个行星形成的瓶颈 于是我们把每个行星想象成一个点 形成的瓶颈就是与其他点相连的边 相当于一个最小生成树了 直到s t联通 当然 这样做有点难理解 还可以类似的二分+并查集做 #include<bits/stdc++.h> #...

2018-11-02 15:48:00 100

原创 【NOIP 2017】逛公园(最短路+记忆化搜索)

肯定要先跑一次最短路 题目中的k 相当于允许我们走k距离的“冤枉路” 回想之前有些题是如何判断哪些边是属于最短路上的 当dis[now]+edge[u].val==dis[vis] 这条边就在最短路上 类似的 我们可以得出 dis[now]+edge[u].val-dis[vis]就是这一次走的“冤枉路”的长度 到这个地方搜索的策略已经很明显了 dfs(now,remain)表示当前当前...

2018-11-02 08:10:00 158

原创 【SDOI2009】Elaxia的路线(拓扑+最短路+dp)

先找出Elaxia的最短路 重新建图 在此图上我们再标记同时也是w**的最短路的边 显然这是一个DAG 可以做dp 设f[i]表示以i点结尾的最长公共连续和(公共路径一定是一条链) 则f[vis]=max(f[now],f[now]+e[u].val*e[u].flag)(flag表示是否也是w**的最短路) 为了使得没有后效性 需要在拓扑排序时做dp #include<iostr...

2018-11-01 20:48:00 131

原创 【BZOJ2750】【HAOI2012】道路(最短路+拓扑)


 容易想到枚举所有起点 做最短路 然后枚举边统计次数 一条边(x,y)的贡献 肯定是 s到x最短路的方案数 乘上 s到其他点但经过了y的最短路 对于前者 每个点可以从前一个点递推过来 只要满足dis[vis]==dis[now]+edge[u].val 当一个点被所有入边都统计了一次后 就可以搜他了(拓扑思想) 对于后者 每个点从后一个点递推过来 #include&...

2018-11-01 16:09:00 242

原创 递增数列(迭代加深搜索)


 迭代加深搜索就是限制递归的层数,然后一层层地扩大限制的层数 我们记录当前深度,以及当前应该搜出几个数 设计剪枝: 1.当当前深度乘上2^r(r是还没有选的数)比m还小 那肯定是不行的 因为最大的扩展方式就是选两个最大的数 2.这一层比上一层数小 #include<bits/stdc++.h> using namespace std; int m,ste...

2018-11-01 14:32:00 433

原创 【TYVJ1340】送礼物(折半搜索+hashmap)


 当答案可以分为两半时 为了降低复杂度 可以使用折半搜索 对前半部分 搜出所有可能的和 用map记录 对后半部分 同样也是搜出可能的和 如果前半部分存在一个和 能拼起来 那ans++ #include<bits/stdc++.h> #define N 45 #define ll long long using namespace std; ll n,ke...

2018-11-01 13:36:00 219

原创 再数17(搜索+容斥)


 n个集合的容斥其实就是 总的 减去两两相交的 加上三个相交 减去四个相交 加上五个.....(奇加偶减) 这道题就是一个lcm的容斥 我们用搜索来实现 枚举选的数 需要加个剪枝 当前lcm已经超过了m #include<bits/stdc++.h> #define N 35 #define int long long using namespace s...

2018-11-01 12:16:00 129

空空如也

空空如也

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

TA关注的人

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