bzoj
文章平均质量分 73
yfzcsc
我们仍未知道那天所看见的金光的名字
展开
-
bzoj4052
题意:给出一个长度在 100000 以内的正整数序列,大小不超过 10^12。 求一个连续子序列,使得在所有的连续子序列中,它们的GCD值乘以它们的长度最大。这个题我真的naive了,写了一个分治的做法后调了半天还是WA,后来怒查题解...枚举终点j,则[i,j]中的gcd最多有log(n)种用一个数组(其实本来就是单调的)存下来,每次把栈中元素都与a[j]做gcd,把a[j]放到后面原创 2016-12-18 17:39:33 · 266 阅读 · 0 评论 -
bzoj3065
再次写丑的我。。。(刚开始写了个线段树合并+fhq treap完TLE+MLE)换成替罪羊+可持久化线段树合并之后随机数据1s+,不知道vfk搞得什么新闻,bzoj运行37s+刚开始题意读错调了1h+我好菜#include#include#include#include#define Sum(x) ((x)?(x)->sum:0)#define Key(x) ((x)?(原创 2017-01-24 22:18:10 · 470 阅读 · 0 评论 -
bzoj2959
用LCT+并查集缩点,记两个并查集,一个是实际在树中的编号,一个是普通的并查集注意:access中要更新father的编号,修改点值要把点splay上去再修改#include#include#include#include#define maxn 160100using namespace std;int sum[maxn],fa[maxn],tag[maxn],ch[maxn原创 2017-01-29 10:53:53 · 481 阅读 · 0 评论 -
bzoj2594
这题好坑。。。离线然后用LCT倒着维护最大生成树,这个是一眼但是注意:边权是用多加一个点(类似kruskal同构树)来实现,实际上点有m+n个,注意数组不要开小,不然会TLE。。。附数据生成器(但是如果造小数据,每个AC程序输出都可能不一样;大数据没事)#include#includeusing namespace std;typedef pair data;int dx[原创 2017-01-30 10:41:21 · 269 阅读 · 0 评论 -
深入理解LCT
以前做LCT基本上都是拿来当模板用,于是总是会出各种错误,乱搞半天才过...随着玄妙的LCT题的增多,总算渐渐理解了LCT的本质,就记一下好了定义一下:fa[x]是splay中的父亲,splay的根的fa是另一颗splay中的一个点,即special father一定要牢记:LCT的splay是按深度为关键字排序,每个splay维护的是一条奇怪的链.access操作:从原创 2017-08-29 21:31:03 · 771 阅读 · 0 评论 -
BZOJ4256 推箱子
首先将空地与空地之间连边,转化为一个无向图。令dp[i][j][0/1/2/3]表示箱子在(i,j),人在箱子旁4个方向中的一个时是否存在方案(和NOIP2013华容道类似)则有2种转移:dp[i][j][k]->dp[i][j][l](从方向k可以不通过(i,j)到方向l) dp[i][j][k]->dp[i'][j'][k](人推动箱子)最后答案就是枚举所有的(i,原创 2017-11-07 20:57:24 · 509 阅读 · 1 评论 -
BZOJ4081 [WF2014]Skiing
显然可以发现一个dp(i,j)dp(i,j)表示现在在ii,速度是jj,然后答案是什么可以得到这个dpdp是单峰的所以每个答案最多只会有两个可行区间于是用dp(i,j)dp(i,j)表示现在在ii,答案是jj时的可行区间,对于每个点区间总数是O(n)O(n)的。所以现在考虑如何从[L,R]→[L′,R′][L,R]\to [L',R']如果要得到R′R',显然要先−a-a再aa设时间为tt,初始速度原创 2018-01-23 20:39:04 · 409 阅读 · 0 评论 -
BZOJ3970 WF2013 G Map Tiles
想象一个框把这个多边形框住,如果知道这个框的左上角的确切位置就能知道答案。可以发现,这个位置有如下4种情况:1.\texttt{1.} 一个顶点在水平线上,一个顶点在竖直线上2.\texttt{2.} 一个顶点在水平线上,一个网格点在多边形边上3.\texttt{3.} 一个顶点在竖直线上,一个网格点在多边形边上4.\texttt{4.} 两个网格点在多边形边上这样理论的点数有O(102n2)O(1原创 2018-01-16 21:42:19 · 357 阅读 · 0 评论 -
bzoj5145 [Ynoi2018]未来日记 (多校第4场1013 Yuno and Claris)
2018目标:让nzhtl1477nzhtl1477打通罚抄!这题其实不难写,就是我写完后MLEMLE了。。。对权值和序列都分块,假设nn和值域同阶记b[i][j]b[i][j]表示前ii块,权值在第jj块的有几个记c[i][j]c[i][j]表示前ii块,权值为jj的有几个预处理这个是O(nn√)O(n\sqrt{n})对于查询:直接暴力每块,O(n√)O(\sqrt{n})对于修改:两边的块暴力原创 2018-01-23 21:34:14 · 2430 阅读 · 0 评论 -
BZOJ4552
O(nlogn),可分裂合并的线段树嗨呀,写死我了#include#include#include#include#include#define Sum(a) ((a)?(a)->sum:0)using namespace std;struct tree{ tree* l,* r; int sum; tree(){l=r=0;sum=0;} v原创 2017-01-18 20:36:00 · 417 阅读 · 0 评论 -
bzoj3451
这个题其实就是求为什么呢?考虑一个点i,枚举每一个j,他对答案贡献的条件是在j作为点分树根即i到j之间上没有点被选为点分树根于是就点分,这个东西就是一个卷积,用fft即可为什么我一写就是第一页...#include#include#include#include#include#define inf (1<<30)#define原创 2017-01-16 21:26:01 · 604 阅读 · 0 评论 -
bzoj 3676 记一下回文自动机的板
这个题啊,裸的回文自动机具体说明:点击打开链接#include#include#include#define maxn 300100#includeusing namespace std;char str[maxn];struct pam{ int top,lst; int trie[maxn][26],fail[maxn],len[maxn],size[maxn];原创 2017-01-16 19:49:26 · 420 阅读 · 0 评论 -
BZOJ 4695
4695: 最假女选手Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 126 Solved: 23[Submit][Status][Discuss]Description在刚刚结束的水题嘉年华的压轴节目放水大赛中,wyywyy如愿以偿的得到了最假女选手的奖项。但是作为主办人的C_SUNSHINE为了证明wyywyy确实在原创 2016-12-24 21:04:50 · 487 阅读 · 0 评论 -
BZOJ1492
1492: [NOI2007]货币兑换CashTime Limit: 5 Sec Memory Limit: 64 MBSubmit: 4048 Solved: 1696[Submit][Status][Discuss]Description小Y最近在一家金券交易所工作。该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下简称B券)。每个持原创 2016-12-24 21:23:42 · 290 阅读 · 0 评论 -
BZOJ2117
2117: [2010国家集训队]Crash的旅游计划Time Limit: 150 Sec Memory Limit: 552 MBSubmit: 179 Solved: 43[Submit][Status][Discuss]Description眼看着假期就要到了,Crash由于长期切题而感到无聊了,因此他决定利用这个假期和好友陶陶一起出去旅游。 Crash和陶陶所原创 2016-12-24 21:26:35 · 369 阅读 · 0 评论 -
BZOJ4700
4700: 适者Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 43 Solved: 21[Submit][Status][Discuss]Description【题目背景】“虽然不知道那两台是谁干掉的,不过任务完成了。”一一次祖伽密.【题意描述】敌方有n台人形兵器,每台的攻击力为Ai,护甲值为Di。我方转载 2016-12-24 21:44:30 · 311 阅读 · 0 评论 -
bzoj 2961
题意:点击打开链接司机好强%%%%由于圆过原点,我们可以将圆对原点进行反演(反演看这里:点击打开链接)圆反演完后是一条直线,若一个点在这个圆内,那么它的反演点一定在该直线的上方于是,问题就转化为了插入一个直线,查询一个点是否在所有直线上方cdq分治+维护上凸壳(类似于bzoj1007)即可.#include#include#include#include#i原创 2017-01-13 19:57:30 · 457 阅读 · 0 评论 -
bzoj 2336
补坑补坑~~~这题随机化?(艹,蒟蒻以为是某奇形怪状DP)枚举每个3类型是1还是2,然后就类似于模拟退火搞出答案计算答案时要用一个小贪心:先把1,2类别分开排序,然后先算把1类型的第一步执行完后执行2类型所得B的答案同理算A的答案,max一下即可#includeusing namespace std;int att[30],ls[30],a[30],b[30],n,an原创 2017-01-13 20:38:54 · 345 阅读 · 0 评论 -
bzoj 2669
这种容斥套DP的题又好久没写了,我好菜啊给我一周我也想不到这题的DP~~~由于局部最小值只能有我们就从小到大枚举i,用f[i][j]表示当前枚举到i,局部最小值的状态为j的方案数则:f[i][j]=f[i-1][j]*(可以放的位置+已经放的局部最小值-i+1)+{f[i-1][k^j]}(k是j的元素)由于有点号的点被钦定不是局部最小值,就需要容斥一下复杂度大概是能过的.原创 2017-01-13 20:50:10 · 384 阅读 · 0 评论 -
bzoj2337
为什么一道SB题纠结了这么久。。。设f[i]为i到n的1的概率(或期望)由于正着推会出锅(f[n]=0)所以要倒着推则由i到它的son都是等概率的,即1/degree[i]列方程即可#include#include#include#include#define maxn 110#define maxm 21011using namespace std;struct原创 2017-01-13 21:15:42 · 429 阅读 · 0 评论 -
bzoj4314 倍数?倍数!加强版
问题:求[1,n][1,n]中选mm个互不相同的数使得他们的和膜nn等于kk的方案数Joker\texttt{Joker}太神了!题解:如果没有mm的限制,实际上相当于求∏ni=1(1+xi)\prod_{i=1}^n (1+x^i)所有次数是膜nn为kk的项的系数和 考虑用单位根来计算这个可以发现,设F(x)=∏ni=1(1+xi)F(x)=\prod_{i=1}^n (1+x^i),则答案为原创 2018-03-08 21:00:40 · 686 阅读 · 1 评论