会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Claris' Blog
首页
联系
订阅
管理
上一页
1
···
19
20
21
22
23
24
25
26
27
···
38
下一页
2016年1月12日
BZOJ3838 : [Pa2013]Raper
摘要: 将选取的$A$看成左括号,$B$看成右括号,那么答案是一个合法的括号序列。那么只要重复取出$k$对价值最小的左右括号,保证每时每刻都是一个合法的括号序列即可。将$($看成$1$,$)$看成$-1$,设$s[]$为前缀和。如果当前取出的是$()$,那么对前缀和的影响为$[A,B-1]$区间加$1$。如...
阅读全文
posted @ 2016-01-12 16:57 Claris
阅读(1837)
评论(1)
推荐(2)
2016年1月11日
BZOJ3735 : [Pa2013]Konduktorzy
摘要: 二分一个最大的位置$x$,计算$t=\sum_{i=1}^k\lfloor\frac{x}{a_i}\rfloor$。如果$t\leq n$,那么说明就算全部检票员都走到了这里,也不够$n$个指令,所以可以先将所有检票员尽量向$x$位置走,并将用掉的指令数扣除。然后将$x$适当往前调整,使得每个检票...
阅读全文
posted @ 2016-01-11 16:47 Claris
阅读(626)
评论(0)
推荐(1)
2016年1月10日
BZOJ4310 : 跳蚤
摘要: 首先求出后缀数组,得到本质不同的子串的个数。然后二分答案,每次先通过后缀数组求出第$mid$小的子串,然后贪心进行检验。检验的时候,从后往前贪心,每次加入一个后缀,如果不能加了,那就划为一段。时间复杂度$O(n\log n)$。#include#include#include#define N 10...
阅读全文
posted @ 2016-01-10 20:35 Claris
阅读(1206)
评论(0)
推荐(2)
2016年1月8日
BZOJ4373 : 算术天才⑨与等差数列
摘要: 设$pre[i]$表示第$i$个数上一次出现的位置,$d[i]=abs(a[i]-a[i+1])$。用线段树维护区间内$a$的最小值、最大值,$pre$的最大值以及$d$的$\gcd$。对于询问$l\ r\ k$,首先特判掉$l=r$或者$k=0$的情况。然后求出区间最小值和最大值、以及$pre$的...
阅读全文
posted @ 2016-01-08 19:01 Claris
阅读(1286)
评论(0)
推荐(0)
2016年1月6日
BZOJ4340 : BJOI2015 隐身术
摘要: 枚举$B$串的每个后缀,统计出该后缀所有满足条件的前缀。考虑暴力搜索,设状态$(x,y,z)$表示当前需要考虑$A$从$x$开始的后缀,$B$从$y$开始的后缀,之前部分编辑距离为$z$。那么首先用后缀数组+ST表求出两个后缀的lcp,$x$和$y$都可以向右跳那么多,且不产生任何代价。如果此时匹配...
阅读全文
posted @ 2016-01-06 20:14 Claris
阅读(702)
评论(0)
推荐(1)
BZOJ4389 : ZYB and Trees
摘要: Link-Cut Tree维护。每个点x维护以下信息:v:这个点的点权s:实链上的信息和st:子树信息和(不包括链上)sa:子树+链上的信息和as:所有虚儿子的sa的和则有s[x]=v[x]+s[son[x][0]]+s[son[x][1]]st[x]=as[x]+st[son[x][0]]+st[...
阅读全文
posted @ 2016-01-06 00:50 Claris
阅读(607)
评论(1)
推荐(0)
2016年1月4日
BZOJ4388 : JOI2012 invitation
摘要: 注意到这个过程实质就是prim算法求最大生成树的过程。首先通过离散化+线段树将$A+B$个点缩为上下各$O(n)$个点。设已加入集合为$S$,未加入集合为$T$。建立两棵线段树,维护所有在$T$集合中的点,以及从每个点连出去的边。用一个大根堆维护所有横跨$ST$的边。每次取出堆顶的边,取出与这条边相...
阅读全文
posted @ 2016-01-04 21:55 Claris
阅读(465)
评论(0)
推荐(0)
2016年1月3日
BZOJ3640 : JC的小苹果
摘要: 设$f[i][j]$表示$hp$为$i$,在$j$点的概率,$d[i]$表示$i$的度数,$w[i]$表示经过$i$点要扣掉的血量。对于$j$到$k$这条边,$f[i-w[k]][k]+=\frac{f[i][j]}{d[j]}$。若$w[k]>0$,则直接将贡献加给$f[i-w[k]][k]$,否...
阅读全文
posted @ 2016-01-03 01:52 Claris
阅读(742)
评论(0)
推荐(0)
2016年1月2日
过去的2015
摘要: 过去的2015这一年,感觉非常漫长,发生了好多好多的事情。1月,翻译某道POI的时候被lavendir发现不是BZOJ权限用户,结果他居然把权限免费送给了我!打开了新世界的大门。2月,寒假写完作业无聊着没事干,随便切了几道水题,被家长发现,“离高考只有几个月了,要安心学习”,于是家长就开始监控我的提...
阅读全文
posted @ 2016-01-02 03:03 Claris
阅读(6168)
评论(8)
推荐(15)
2015年12月21日
BZOJ3739 : DZY loves math VIII
摘要: 显然当且仅当$\gcd(i,j)=1$时才对答案有贡献,化简得\[\begin{eqnarray*}ans&=&\sum_{i=1}^n\sum_{j=1}^i\mu(ij)[\gcd(i,j)=1]\\ &=&\sum_{i=1}^n\sum_{j=1}^i\mu(ij)\sum_{d|i,d...
阅读全文
posted @ 2015-12-21 16:01 Claris
阅读(1011)
评论(0)
推荐(0)
BZOJ1845 : [Cqoi2005] 三角形面积并
摘要: 求出所有交点后从左往右扫描线,用每段的中位线去截所有三角形,算出长度并后乘以该段长度即可,时间复杂度$O(n^3\log n)$。#include#include#includeusing namespace std;const int N=310;const double eps=1e-9,inf...
阅读全文
posted @ 2015-12-21 01:32 Claris
阅读(692)
评论(2)
推荐(0)
2015年12月20日
BZOJ3560 : DZY Loves Math V
摘要: 因为欧拉函数是非完全积性函数,所以可以考虑对每个数进行分解质因数,将每个质数的解乘起来即可。对于一个质数$p$,设它在各个数中分别出现了$b_1,b_2,...b_n$次,那么由生成函数和欧拉函数的性质得,它对答案的贡献为:\[(\prod_{i=1}^n\frac{p^{b_i+1}-1}{p-1...
阅读全文
posted @ 2015-12-20 01:25 Claris
阅读(397)
评论(0)
推荐(0)
2015年12月15日
BZOJ4358 : permu
摘要: 把询问看成二维点,建立kd-tree,每个点维护一个计数器。从1到n依次加入每个数,每次加入一个数时,对于所有包含它的询问,计数器加一,对于其它询问,计数器置0。那么每个询问的答案就是计数器的历史最大值,可以通过打标记实现。时间复杂度$O(n\sqrt{m})$。#include#includeco...
阅读全文
posted @ 2015-12-15 18:32 Claris
阅读(1693)
评论(12)
推荐(2)
BZOJ4289 : PA2012 Tax
摘要: 一个直观的想法是把每条边拆成两条有向边,同时每条有向边是新图中的一个点。对于两条边a->b与b->c,两点之间连有向边,费用为两条边费用的最大值。然后新建源点S与汇点T,由S向所有起点为1的边连边,T接受所有终点为n的边,那么答案就是S到T的最短路。这样子的边数为$O(m^2)$,不能承受。考虑枚举...
阅读全文
posted @ 2015-12-15 00:07 Claris
阅读(1553)
评论(0)
推荐(1)
2015年12月11日
BZOJ3821 : 玄学
摘要: 对操作建立线段树,每个节点维护一个有序的操作表,表示用$[l,r]$的操作在每段区间上的作用效果。对于一个线段树节点,合并左右儿子信息只在该区间刚刚被填满时进行,利用归并排序,时间复杂度为$O(n\log n)$。查询的时候在线段树上分裂成$O(\log n)$个点,在每个点的表里进行二分查找即可,...
阅读全文
posted @ 2015-12-11 02:29 Claris
阅读(531)
评论(0)
推荐(0)
2015年12月10日
BZOJ1172 : [Balkan2007]Dream
摘要: $\gcd(ab,k)=\gcd(\gcd(a,k)\times \gcd(b,k),k)$设$f[i][j]$表示前$i$行,与$k$的$\gcd$为$j$的方案数,$h[i]$表示当前行选一个或两个,乘积与$k$的$\gcd$为$i$的方案数,然后DP即可。时间复杂度$O(N(M+K))$。#i...
阅读全文
posted @ 2015-12-10 00:02 Claris
阅读(401)
评论(0)
推荐(1)
2015年12月8日
BZOJ1092 : [SCOI2003]蜘蛛难题
摘要: 按时间一步一步模拟。每一次,首先将所有没有水但是可以被灌到水的管子标记为有水,然后求出有水的管子里水面高度的最小值。如果$a$号管有水且最小值为$b$,那么说明此时蜘蛛碰到了水。如果有管子溢出且最小值就是它,那么说明此时无论如何水面都不会再上涨,即无解。然后往所有高度等于最小值的管子里灌上一高度的水...
阅读全文
posted @ 2015-12-08 21:12 Claris
阅读(647)
评论(0)
推荐(0)
BZOJ1075 : [SCOI2007]最优驾车drive
摘要: 设$f[i][j][k]$为到达$(i,j)$,用时为$\frac{k}{5lcm}$小时的最低耗油量,然后DP即可。#includeconst int N=12,M=210005;const double inf=1e15;int n,L,lcm,lim,i,j,k,p,x,y,a[N],b[N]...
阅读全文
posted @ 2015-12-08 16:19 Claris
阅读(637)
评论(0)
推荐(0)
BZOJ2960 : 跨平面
摘要: 平面图求域之后增加超级根,然后建图求最小树形图即可。#include#include#include#includeusing namespace std;typedef long long ll;const int N=3010,M=10010,inf=0x7fffffff;int n,m,q,c...
阅读全文
posted @ 2015-12-08 00:56 Claris
阅读(346)
评论(0)
推荐(0)
2015年12月7日
BZOJ1035 : [ZJOI2008]Risk
摘要: 首先要将这个图连通,方法是通过扫描线+set求出每个连通块最高的点上方的第一条边,然后向交点连边。然后把边拆成两条双向边,每次找到一条没走过的边,找到极角排序后它的反向边的后继,直到回到这条边。根据叉积可以求出面积,如果面积非负,那么就说明找到了一个封闭区域。然后再进行一次扫描线,找到一个点上方最低...
阅读全文
posted @ 2015-12-07 12:13 Claris
阅读(817)
评论(0)
推荐(2)
上一页
1
···
19
20
21
22
23
24
25
26
27
···
38
下一页
公告