自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HbFS-

Would you like?

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

原创 [Codeforces757E]Bash Plays with Functions数学

这题推一吨东西出来就能做了 首先发现F0(x)F_0(x)是2质因子个数2^{质因子个数} 这个东西是完全积性函数,当然也是非完全积性函数 把式子化简,就能得到Fr(x)F_r(x)也是非完全积性函数 在特殊处理一下Fr(pq)F_r(p^q)(p是质数)这样形式的答案 分解质因数乘起来就好#include <bits/stdc++.h>#define mod 1000000007#d

2017-03-27 14:04:59 602

原创 [AtCoder2173]Shik and Copying String 队列

诶题解写得很吓人 画图感受一下就出来了 这题居然是F题#include <bits/stdc++.h>#define N 1000050using namespace std;char a[N],b[N];int flag,ans,n;queue<int> q;int main() { scanf("%d%s%s",&n,a+1,b+1); for (int _=1;_<

2017-03-27 14:01:09 540

原创 [AtCoder2045]Circle and Many Triangles二分答案

二分答案,然后计算圆内大于等于这个面积的三角形的个数 计算个数可以通过枚举第一条边,二分第二条边的做法来做 为了保证不重复,可以另边权单调递增 特殊处理等边、等腰三角形这里写代码片

2017-03-24 15:00:38 371

原创 [Codeforces167D]Wizards and Roads 笛卡尔树分裂合并

每次将平面上y坐标最大的点拿出来,将坐标系按照这个点分成两半,连接左右半坐标系里面y坐标最大的点,构成一棵笛卡尔树,由于数据随机所以深度是logn的题目相当于求一个区间内的最大匹配个数,这可以在笛卡尔树上维护 询问每次需要分裂出来一个笛卡尔树,按照非旋转Treap那样子分裂合并就行了#include <bits/stdc++.h>#define p 1000000009#define N 200

2017-03-23 14:50:41 660

原创 [Codeforces311E]Biologist 最小割

建图方式与BZOJ文理分科类似 http://blog.csdn.net/di4covery/article/details/54646354#include <bits/stdc++.h>#define INF 2147483647#define N 40050#define M 400050using namespace std;inline int rd() { int x=

2017-03-22 21:42:54 390

原创 [Codeforces276E]Sign on Fence CDQ分治

这题可以用可持久化线段树做,用那种方法可以强制在线 考场里觉得分治好写就直接上了将篱笆从大到小排序,记录每一个篱笆的位置 solve(l,r,S)对[l,r]区间以及询问集合S进行分治 将1到mid篱笆的线段树上所在位置变成1,对所有的询问集合查询[l,r]区间内最长的连续1的数量是否大于等于w,若成立则将该询问放在左半区间的询问集合里,否则扔到另外一个区间的询问集合里面分治一个log,线段树

2017-03-22 21:39:53 355

原创 [BZOJ3569]DZY Loves Chinese II 哈希+线性基

拿出原图的一个生成树 那么一个图不连通当且仅当切断了某一段的树边和所有覆盖这一段的非树边 给所有的非树边一个随机的哈希值,树边的哈希值为所有覆盖它的非树边的哈希值的异或和 若一条树边以及所有覆盖它的非树边被移除了,那么这些边的异或和为0 我们用线性基实现查询询问是否存在一个子集异或和为0#include <bits/stdc++.h>#define N 100050#define M 1

2017-03-21 22:04:44 403

原创 [POJ1635]Subway tree systems 判断有根树的同构 有根树哈希

诶学习了一下有根树的哈希方法 还不是很懂无根树要怎么哈希#include <iostream>#include <cstdio>#include <stack>#include <map>#include <cstdlib>#include <cstring>#define N 3050using namespace std;typedef unsigned long long u

2017-03-21 11:51:01 477

原创 [清华集训2016][UOJ266][BZOJ4730] Alice和Bob又在玩游戏 sg函数+字典树

对一棵树进行操作,那么它的根一定会被移除,所以我们可以将这一棵树的sg函数记录在根上 对于一次操作,这次操作可能操作在根上,那么我们将它的所有儿子sg值异或起来就能得到这次操作的结果,否则相当于操作它其中一个儿子,移除根,再异或上其它儿子。 对于每一个节点维护一棵字典树用来记录从根出发走出路径所能得到的新sg值的集合。 合并的时候按照线段树合并的方法合并,可以证明复杂度是O(nlogn)O(n

2017-03-19 21:20:54 912

原创 [ZJOI2815]灾难 建树+动态LCA+树上dp

植物的生存依赖关系可以构成一棵树 把它建出来就行啦#define lim 200#define N 200050#define M 1000050using namespace std;inline int rd() { int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getch

2017-03-18 20:14:22 358

原创 [BZOJ1500]维修数列 Treap

兄弟千万别写非旋Treap 卡常卡得飞起 10s+1s跑过去#include <bits/stdc++.h>#define INF (1<<30)#define N 500050#define L tr[ tr[t].ls ]#define R tr[ tr[t].rs ]#define O tr[t]using namespace std;typedef pair<int,int>

2017-03-14 20:04:40 656

原创 [BZOJ2326][HNOI2011]数学作业 矩阵快速幂

那玩意儿一看就要分段统计,递推式可以求一求 $F[n] = 10^k * F[n-1] +n$ 这东西是可以装进矩阵的,矩阵里存三个元素,F[n],n,1F[n],n,1 快速幂乘着玩儿就行了/************************************************************** Problem: 2326 User: di4CoveRy

2017-03-13 22:11:58 304

原创 [AtCoder2045]Salvage Robots 动态规划

四维动态规划F[a][b][c][d]画一个包含出口的矩形,用来表示哪里已经被访问过了,顺带能表示那些机器人已经被续了 主动递推往四个方向加一行/一列,把活着的机器人统计了就好#include <bits/stdc++.h>#define N 101unsigned short F[N][N][N][N],mp[N][N],sum[N][N];using namespace std;inl

2017-03-13 22:08:34 500 1

原创 [AtCoder2165]Median Pyramid Hard 二分答案

套路题 二分答案,然后把大于等于它的变成1小于等于它的变成0 这样子的中位数是很有规律的 找到最上面那个玩意儿是啥就行了#include <iostream>#include <cstdio>#define N 1000050#define INF (1<<30)#define gc() getchar()using namespace std;int a[N],b[N],n;inl

2017-03-13 22:05:59 461

原创 [BZOJ2329][HNOI2011]括号修复 平衡树

n2n^2暴力能AC,类似贪心的做法,直接扫一遍就可以 诶这题目平方暴力能跑过去 只能说出题人出的数据出得真得很差,非常不用心 这种数据在比赛里对公平是多么大的一种破坏 希望比赛的出题人能够严肃地对待自己出的题目 若没有能力出好这题的数据请不要出这种题目#include <bits/stdc++.h>#define N 100050using namespace std;inline

2017-03-13 21:43:20 409

原创 [Codeforces Gym 101243][2016acm/icpc Quarterfinal Central region of Russia]

传送门 诶比赛打得贼爽,遇到了travel poorly 最后以一吨罚时,10/11题提前两小时结束比赛滚回宿舍了 随便整理一下题目吧 A 题意:需要烤nn(n<=500n <= 500)条鱼,每次能烤kk条鱼的一面,询问至少需要烤多少次才能烤完所有的鱼。(每条鱼的两面都需要被烤) 解答:直接输出2nk\frac{2n}{k},和2取最大值,向上取整。#include <bits/std

2017-03-10 08:27:44 590

原创 [BJWC2017]神秘物质 Treap

非旋转Treap 合并相当于删除两个点增加一个点 查询直接把子树切出来再拼回去#include <bits/stdc++.h>#pragma GCC optimize(2)#define L tr[t].l#define R tr[t].r#define N 200050#define INF 2147483647using namespace std;typedef pair<in

2017-03-06 19:10:38 435

原创 [CERC2016][JZOJ5000]Bipartite Blanket 结论

状态压缩dp,F[mask]表示一边的点集mask是否存在完备匹配(左右各做一次),依据Hall定理转移 将左右所有存在完备匹配的点集合的权值和算出来塞到两个数组里,two pointers判权值和够不够就行了#include <bits/stdc++.h>#pragma GCC optimize(2)#define tn ((1<<n)-1)#define tm ((1<<m)-1)#d

2017-03-05 13:46:43 772

原创 [BZOJ4310]跳蚤 后缀数组+线段树

一个log的题被我强行写成了两个log 诶再怎么样过了就是了构建SA,然后二分答案,贪心判断至少要剪断多少次才能使得答案成为最大的/************************************************************** Problem: 4310 User: di4CoveRy Language: C++ Result: Acc

2017-03-03 08:14:46 391

原创 [BZOJ3611][Heoi2014]大工程 虚树+dp

构建虚树不难,dp有一点技巧 把虚树上的询问点和虚点分开来讨论,初值设置的时候有一点点不同/************************************************************** Problem: 3611 User: di4CoveRy Language: C++ Result: Accepted Time:12792

2017-03-03 08:05:17 366

原创 [BZOJ2286][Sdoi2011消耗战] 虚树

看别人的博客建虚树看了半天没看懂,按照自己的思路写,最后才发现是博主把一个深度depth写成了dfn 诶虚树入门,虚树建出来以后dp一下就出来了 虚树的构造主要思想就是维护右链 注意long long#include <bits/stdc++.h>#define N 2000050#define LOG 25#define INF (1LL<<62)using namespace std

2017-03-01 21:05:59 388

空空如也

空空如也

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

TA关注的人

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