- 博客(47)
- 收藏
- 关注
原创 BZOJ3884: 上帝与集合的正确用法
好神的一道欧拉函数。。 根据欧拉定理讲Mod展开为2k2^k与j 这里 Mod=2k+jMod=2^k+j 然后加上欧拉定理就可以了#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<cstdlib>using namespace std;char c;inline void rea
2016-03-31 20:05:52 511
原创 BeestCoder #76
鏼爷的题还真的是hentai我真的不是很想打那个数位DP讲道理啊 题目用的东西的确不难 但是难想啊QAQ1001 没打1002 貌似用一点不等式的东西就好了? 感谢×××友情提供的代码1003 G[i]表示子树需要附加贡献 F[i]表示子树贡献#include<cstdio>#include<iostream>#include<cstring>using namespace
2016-03-31 19:02:59 482
原创 BestCoder Round#77
今天开始将要转一下做题的OJ了。。 虽然感觉放着权限号在那里不好。。。。。然后先写一下BC #78的题解吧1001 就是在枚举子集的过程中我们发现当n > 1时,x出现了偶数次,所以其对答案的贡献就是0;当 n = 1时,其对答案的贡献是 x1002 简单的排列组合1003 考虑离线之后我们就可以用并查集做了1004 DP 是可以用单调队列优化成O(n)O(n)的 不过我打的是O(n2
2016-03-29 20:39:20 355
原创 Day1完跪,AFO
今天才敢正视一下自己的成绩。。。 没有听Claris的话老老实实先打暴力 花了两个小时打A 估价函数换了五个 正确率还是低的不能拿分 顿时人就慌了。。。 然后开始打T2 T3暴力。。 怕T2线段树打错于是只打了个Dij 一开始以为可以用Dij做出来的最短路径更新一下 发现并没有什么鸟用 比暴力跑的还慢。。。 T3打了20分的状压 20分的爆搜 其实如果每次枚举状态都check一下可
2016-03-25 22:13:42 714
原创 BZOJ3679: 数字之积
我们会发现对于一个乘积一定可以分解为2 3 5 7的倍数然后就根据这个来做了预处理出每个数的幂次总感觉数位DP用记忆化搜索更方便?#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#define ll long longusing namespace std;char c;inline void re
2016-03-23 12:48:03 607
原创 BZOJ3589: 动态树
树链剖分。。 沃日打错树剖+路径并 感觉要滚粗啊#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>using namespace std;#define ll long longconst ll Mod=1ll<<31;char c;inline void read(ll &a){
2016-03-22 21:32:18 690
原创 BZOJ3619: [Zjoi2014]璀灿光华
忽闻今年ZJOI出题人是2014的出题人 吓得我赶快去看一下题目 ZJOI2014可是坑了CSY啊 (捂璀璨光华感觉像是pj组的题目? 建图不难。。。。 然后暴力即可#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<queue>using namespace std;char c
2016-03-21 20:11:00 1930
原创 BZOJ3944: Sum
杜教筛 思想就是变换一下函数 杜教筛地址: http://blog.csdn.net/skywalkert/article/details/50500009 %%%%%唐教主#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;#define ll long
2016-03-21 08:13:22 910
原创 BZOJ2286: [Sdoi2011]消耗战
虚树上DP我O(1)LCAO(1)LCA但是关于树上的链最小值不知道怎么做。。。只能O(lgn)O(lgn)倍增了 时间大的吓人建虚树的方法我是sort两边细节看代码一开始INFINF设小了 WA到死都不知道#include<cstdio>#include<iostream>#include<cstring>#include<set>#include<algorithm>using n
2016-03-20 19:34:33 541
原创 BZOJ3991: [SDOI2015]寻宝游戏
嗯一直放在那里没有去学虚树现在要省选了才赶快拿出来看一道水题 对这个有阴影呢是因为一直没调出来世界树。。。。 然后发现貌似这道题的虚树还是蛮简单的? 虚树上 联通所选所有点所需长度=(DFSDFS相邻点间距离+DFSDFS首尾距离)/2 然后根据DFSDFS序为KeyKey放入平衡树中即可 注意一下longlong longlong#include<cstdio>#include<io
2016-03-20 14:58:57 402
原创 BZOJ4282: 慎二的随机数列
//省选前刷水记录构造 很显然我们要让那些未知的都加入最终答案 这样子答案才最大然后就很简单了。。。。很奇怪的是本地int main()不加int不会报错 OJ上会CE#include<cstdio>#include<iostream>#include<cstring>using namespace std;#define ll long longint Con;int L[20
2016-03-19 13:56:06 600
原创 BZOJ4092: [Zjoi2015]幻想乡Wifi搭建计划
我承认我是SB 我看到网上没有题解 那我就来写一篇好了 很多人(包括我 看到这一题会认为这个是网络流 然后一直想该怎么建模。。。 后来lbn教了我这一题的做法(%%%%% 先处理出可以被WIFI覆盖的景点 弹入一个序列SS中 然后将SS中的元素按x大小排序 用f[i][j][k]f[i][j][k]表示上面取了前j个圆 下面取了前k个圆 我们就有一个DP的式子(lbn给我的 f
2016-03-19 12:57:11 1947
原创 BZOJ1901: Zju2112 Dynamic Rankings
第一次外层套权值线段树每次用splay提取区间然后在线段树上二分即可一开始想打替罪羊 后来。。差点砸电脑 还是splay好写#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<map>using namespace std;struct Node{ Node *lc,*r
2016-03-18 21:23:25 386
原创 BZOJ3739: DZY loves math VIII
莫比乌斯反演 可以推出来 不会Markdown。。。。http://www.cnblogs.com/clrs97/p/5063707.html#include<cstdio>#include<iostream>#define ll long longchar c;inline void read(ll&a){ a=0;do c=getchar();while(c<'0'||c>'
2016-03-17 20:22:11 615
原创 BZOJ2431: [HAOI2009]逆序对数列
DP F[i][j]F[i][j] 表示当前i个元素j个逆序对的方案 然后用类似前缀和的方法更新#include<cstdio>#include<iostream>using namespace std;char c;inline void read(int &a){ a=0;do c=getchar();while(c<'0'||c>'9'); while(c<='9'
2016-03-17 14:33:01 413
原创 BZOJ3309: DZY Loves Math
推G(x)的时候好神啊!!!题解:http://blog.csdn.net/popoqqq/article/details/42122413#include<cstdio>#include<iostream>using namespace std;#define ll long longchar c;inline void read(int&a){ a=0;do c=getcha
2016-03-17 11:49:30 471
原创 BZOJ3512: DZY Loves Math IV
关于欧拉函数 (我就当我学会了杜教筛 传送门: http://duxyz.github.io/solution/2014/04/03/DZY-Loves-Math-4/好神啊!!#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>u
2016-03-17 11:15:57 1114
原创 BZOJ2700: 聚会
会爆int先排一下序 O(n)贪心会错的#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;#define ll long longchar c;inline void read(ll &a){ a=0;do c
2016-03-17 07:39:35 528
原创 BZOJ3876: [Ahoi2014]支线剧情
建图 等下整理到网络流学习笔记里去有上下界的网络流#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<queue>using namespace std;struct Chain{ int u,flow,cost; Chain *next,*Pair;}*Head[1000
2016-03-16 19:28:13 435
原创 BZOJ1072: [SCOI2007]排列perm
状压DP 先看看当前有多少种然后推下去#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;int f[1024][1000];int s[11];char c;inline void read(int &a){ a=0;do c=getchar();while(c<'0'||c>'9');
2016-03-16 07:41:25 386
原创 BZOJ1042: [HAOI2008]硬币购物
容斥原理#include<cstdio>#include<cstring>using namespace std;char c;inline void read(int&a){ a=0;do c=getchar();while(c<'0'||c>'9'); while(c<='9'&&c>='0')a=(a<<3)+(a<<1)+c-'0',c=getchar();
2016-03-15 18:26:57 366
原创 BZOJ1057: [ZJOI2007]棋盘制作
悬线法DP 根据前者推的最远处开始算 可以证明是n*m的#include<cstdio>#include<iostream>#include<cstring>using namespace std;char c;bool flag;inline void read(int &a){ a=0;do c=getchar();while(c!='-'&&(c<'0'||c>'9'
2016-03-15 14:06:00 404
原创 BZOJ3924: [Zjoi2015]幻想乡战略游戏
SB题目卡我常数 最后寄刀片成功!时限提高到100s A了!!#include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>using namespace std;#define ll long long#define youhua __attribute__((optimize("O3")))char c;
2016-03-15 13:31:19 1027
原创 BZOJ3925: [Zjoi2015]地震后的幻想乡
SB题目卡我精度对于每一个联通块建立一个函数 F(S)=1-Sigma(F(S’))*((1-X)^Side(S,S`)) 其中x是边出现的期望值然后就可以搞到最终集合进行积分#include<cstdio>#include<iostream>#include <iomanip>#include<cstring>using namespace std;#define ll long lo
2016-03-15 08:28:58 794
原创 BZOJ4399: 魔法少女LJJ
这TM欢乐 我打了两次。。。 最后卡空间。。。 日嘛 最后还被liuchenrui大爷嘲讽了一发可合并的线段树常数大的吓人别问我数组为什么开那么小 不卡小点就挂了(面向数据编程大法好#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<cstdlib>#include<map>#in
2016-03-14 19:09:51 1398
原创 BZOJ3729: Gty的游戏
用splay维护DFS序混着脑袋打了一发 调试了一天没搞出来 重打就好了。。。 然后本地跑得起来OJ上RE炸了。。 然后发现是maker打错了#include<cstdio>#include<iostream>#include<cstring>#include<map>using namespace std;char c;inline void read(int&a){
2016-03-14 13:08:04 678
原创 网络流学习笔记
餐巾问题 今天刷了一堆网络流裸题 感觉并没有什么意义 没有多少建模的难度 然后又去看了一下餐巾问题 首先构造一个二分图与源点S 汇点T 二分图中流进Xi的流量代表有多少条脏的餐巾 流进Yi的流量表示用了多少条干净的餐巾 然后S到Xi连边 流量为这一天的餐巾需求P[i]费用为0 表示这一天最多产生P[i]块脏餐巾 Yi到T连边 流量为这一天的餐巾需求P[i]费用为0 表示
2016-03-13 17:32:55 437
原创 BZOJ2599: [IOI2011]Race
点分 我是用map存的可能多了个log 但是跑得过去233333#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<set>#include<map>using namespace std;char c;inline void read(int &a){a=0;do c=get
2016-03-13 07:19:28 477
原创 夜底有感
省选将近 做题的速度远赶不上屯题的速度 而我已没有心思管这种东西了 这一路走来我得到了什么 我有失去了什么 恐怕只有在夜深人静的时候才有空去想这些东西 如果没有OI可能现在的我就是在江中 和以往处了九年的兄弟继续狂浪 不会知道天有多高 因为自己的一些小成绩沾沾自喜 耽于现状 但毕竟我还有那些兄弟 现在 认识的人是多了 关系好的有 但大多数也只是Pass-By 因为那
2016-03-12 22:59:32 844 3
原创 记 BestCoder Round #75
T1模拟没有打Copy了别人的 T2模拟没有打Copy了别人的 T3SB题不解释 T4打表不解释 T5 网络流差错查了一个小时还是没有查出来 果然在这一方面我还是比较欠缺训练 估计成绩出来我要FST….
2016-03-12 21:09:10 438
原创 BZOJ2693: jzptab
沃日 昨天过了那个单次询问的。。。具体内幕我还是不说了 说多了都是泪 我居然是Rank1?#include<cstdio>#include<iostream>#include<cstring>using namespace std;#define ll long longconst int maxn=10000011;const int Mod=100000009;l
2016-03-11 17:32:40 467
原创 BZOJ3355: [Usaco2004 Jan]有序奶牛
很神的一道拓扑排序 http://www.cnblogs.com/clrs97/p/4790290.html第一道bitset的题目#include<cstdio>#include<cstring>#include<cstdlib>#include<cstring>#include<algorithm>#include<bitset>using namespace std;char c
2016-03-10 19:54:52 641
原创 BZOJ4408: [Fjoi 2016]神秘数&&BZOJ4299: Codechef FRBSUM
讲道理这道题的做法还是很神de 对于当前区间扩展可达到[0,max]则一定可以扩展到[0,sum(i)(i<=max+1)] 然后就是用可持久化线段树跑暴力 初始max=0然后一直到不能扩展是max+1即为答案#include<cstdio>#include<iostream>#include<cstdlib>#include<cstring>using namespace std;
2016-03-10 17:00:36 763
原创 BZOJ2154: Crash的数字表格
讲道理这一题是可以做到O(n)预处理O(sqrt(n))询问的 然而我这么打了还是跑起来很慢。。。 最后的式子是 sigma(G=1,n) (Sigma(i=1,n/G) i ) * (Sigma(i=1,n/G) j ) * (Sigma(d|G)d * mu(G/d) * G * G / d / d) 然后我们把 (Sigma(d|G)d * mu(G/d) * G * G / d /
2016-03-10 13:38:59 326
原创 BZOJ3052: [wc2013]糖果公园
依旧不会证明复杂度。。。。此题需要注意下修改 讲t用于第三关键字排序本傻逼第一发没有初始化块的大小 成功调戏一波评测姬(划#include<cstdio>#include<algorithm>#include<iostream>#include<cmath>#include<cstring>using namespace std;#define ll long long char
2016-03-09 19:27:35 445
原创 BZOJ3757: 苹果树
树上分块 无修改的分块分块方法用王室联邦的方法 至于复杂度分析我不会….. 毕竟SB选手#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<cmath>#include<algorithm>using namespace std;char c;inline void read(i
2016-03-09 18:36:32 524
原创 BZOJ4016: [FJOI2014]最短路径树问题
这道题的思想很好 建出最短路径树然后进行点分 每次用两个数组来记录#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<queue>#include<vector>#include<algorithm>using namespace std;char c;inline void
2016-03-08 19:15:07 503
原创 BZOJ2908: 又是nand
调试一个下午 我终于过了 QAQ主要是合并的时候比较坑#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>using namespace std;#define uint unsigned int#define ll long longchar c;inline void read(uint &a
2016-03-06 16:51:18 874
原创 BZOJ3069: [Pa2011]Hard Choice 艰难的选择
很好的一道LCT的题目 虽然能马上发现时LCT但是这个性质起码我是画了个图。。。 要处在同一个强联通分量里的点才有两条不重合路径 那么很容易想出来只需要离线每次加边同时缩点就好了 然后只需要打个并查集维护一下当前点被缩成哪个点就好了 我第一次LCT的并查集忘了更新了#include<cstdio>#include<iostream>#include<cstring>#include<
2016-03-04 15:21:23 804
原创 BZOJ4409: [Usaco2016 Feb]Circular barn
这一道题的话因为满足抉择单调性然后Claris说可以暴力(二分求分界点 太神了!!#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;char c;inline void read(int &a){ a=0;do c=getchar();while(c<'0'||c>'9'); whi
2016-03-03 19:50:01 883
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人