题目描述 给出一个长度为 $m$ 的序列 $a$ ,编号为 $a_1\sim a_m$,其中 $n$ 个位置的数已经确定,剩下的位置的数可以任意指定.现在令 $b$ 表示 $a$ 的前缀异或和,求 $\sum\limits_{i=1}^mb_i$ 的最小值. 输入 输入第一行两个非负整数n,m,分别表示原始序列a的长度及剩余元素的个数. 之后m行,每行2个数i,ai,表示一个剩余元素的位置和数值. 1<=N<=10^9,0<=M<=Min(n,10^5),0<=ai<=…
[CodePlus2017]可做题 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 87  Solved: 63[Submit][Status][Discuss] Description qmqmqm希望给sublinekelzrip出一道可做题.于是他想到了这么一道题目:给一个长度为n的非负整数序列ai,你需 要计算其异或前缀和bi,满足条件b1=a1,bi=bi?1 xor ai(i≥2).但是由于数据生成器出现了问题,他生成的序列a 的长度特…
Description qmqmqm希望给sublinekelzrip出一道可做题.于是他想到了这么一道题目:给一个长度为n的非负整数序列ai,你需 要计算其异或前缀和bi,满足条件b1=a1,bi=bi?1 xor ai(i≥2).但是由于数据生成器出现了问题,他生成的序列a 的长度特别长,并且由于内存空间不足,一部分ai已经丢失了,只剩余m个位置的元素已知.现在qmqmqm找到你, 希望你根据剩余的ai,计算出所有可能的a序列对应的b序列中∑=bi(1<=i<=N)的最小值. Input…
题目大意: 每个人有五门课成绩,初始给定一部分学生的成绩,然后每次询问给出一个学生的成绩,希望知道在给定的一堆学生的成绩比这个学生每门都低或者相等的人数 因为强行要求在线查询,所以题目要求,每次当前给定的学生成绩都异或上一次的答案 先将学生按每一门成绩都排一次序 这里将学生分块成sqrt(n)的块数,然后在当前块中用bitset容器来记录含有学生的状态 这里可以记录状态的前缀和,因为比后面成绩好的,必然比前面的学生的成绩也好 查询的时候只要查到正好比他高的学生属于哪一块,这样只要访问sqrt(n…
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-11-to-20.html UPD(2018-11-16): 改个标题再弃坑. 发现 EF 这种神仙题根本做不动,这次做题顺序我要改一改了…… 咕咕咕 AGC011F AGC012F AGC013D AGC013E AGC013F AGC014E AGC014F AGC015E AGC015F AGC017F AGC011 B 简单题. #include <…
题面 戳这里 简要题解 做法一 因为所有数的和才100w,所以我们可以直接求出所有区间和. 直接把前缀和存到一个权值数组,再倒着存一遍,大力卷积一波. 这样做在bzoj目前还过不了,但是luogu开O2,最慢的点才500ms左右. #include<bits/stdc++.h> #define For(i,x,y) for (register int i=(x);i<=(y);i++) #define Dow(i,x,y) for (register int i=(x);i>=(y…
Description 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作斗争.通过研究相关文献,他找到了该病的发病原因: 在深邃的太平洋海底中,出现了一条名为drd的巨龙,它掌握着睡眠之精髓,能随意延长大家的睡眠时间. 正是由于drd的活动,起床困难综合症愈演愈烈, 以惊人的速度在世界上传播.为了彻底消灭这种病,atm决定前往海底,消灭这条恶龙.历经千辛万苦,atm终于来到了drd所在的地方,准备与其…
题意:给出N个数,M个操作.操作有修改和询问两种,每次修改将一个数改成另一个数,每次询问一个区间的所有连续子区间的异或和.n,m<=100000,ai<=1000 题解: 当年(其实也就是今年)做不出来的题..D1T1啊... 因为ai<=1000,我们可以拆位处理.拆成10个二进制位,每位开1棵线段树. 对于每个节点,维护: d:这段区间的异或和 L[0],L[1]:子区间一定从左端点开始,异或和为0,1的子区间分别有多少个 R[0],R[1]:子区间一定从右端点开始,异或和为0,1的…
去年不知道干了些啥,什么省选/营题都没做. 现在赶应该还来得及(?) 「PKUWC2018」Minimax Done 2019.12.04 9:38:55 线段树合并船新玩法??? \(O(n^2)\) 很好想,先把叶子的权值离散化,然后 \(dp[u][i]\) 表示 \(u\) 的权值是 \(i\) 的概率. 没事干了,上线段树合并.(???) 线段树合并新玩法:对于线段树上的一个叶子,比它编号大的所有点在线段树上被拆成的区间应该是:对于递归到这个叶子路上的每个节点,如果是个左儿子,就算上它…
算是--咕完了? 2013.2014的就咕了吧,年代太久远了,并且要做的题还有那么多-- LOJ #2112. 「HNOI2015」亚瑟王 发现打出的概率只和被经过几次有关. 于是\(dp_{i,j}\)表示第\(i\)张卡被考虑\(j\)次的概率,随便转移. LOJ #2113. 「HNOI2015」接水果 脑子没了,这题都不会做?? 考虑\((x,y)\in (a,b),lca(x,y)\ne x\)就等价于\(dfn_a\in [dfn_x,low_x],dfn_b\in [dfn_y,l…
NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉就真的要滚大粗退役回去念书了QAQ.于是有了压力就来刷(水水水)题.感觉校内OJ的题库还挺多的就开始做校内OJ的题.(本校的其他神犇都在其他各种OJ上屠丧题我感觉好虚啊!)于是把这几年NOIP的原题拿出来做了下. (我蛮立个flag:如果NOIP过了就买BZOJ权限号...) 历年NOIP提高组一句…
嘿嘿,偷学一波! 由于博主做的题比较少,所以没按年份整理,直接按照做题时间放上来了. 2020年9月20日 [POI2013]LUK-Triumphal arch 给你一颗\(n\)个点的树(\(n\leq300000\)),1号节点已被染黑,其余是白的,两人轮流操作,一开始B在1号节点,A选择\(k\)个点染黑,然后B走一步,如果某一时刻B能走到A没染的节点则B胜,否则当A染完全部的点时,A胜.求能让A获胜的最小的\(k\). 比较容易想到的错解是计算每一个点及祖先的出度作为染色总数. 但这样…
SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模板]后缀自动机 (SAM) 题意简述:求一个字符串 \(s\) 的所有子串长度乘上其出现次数的最大值. 代码还没写过,到时候来补一下. update:尝试只看自己的博客写出代码,然而失败了 >.< update:好家伙,第二次跳 \(p\) 的时候(即把 \((p_i,q)\) 变为 \((p_i…
C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序.字处理程序.游戏.操作系统等.它不仅是更高级语言(如C++) 的基础,目前还以Objective C的形式开发手机应用程序.目前,C语言最新版本由ISO/IEC 9899:2011 文档定义.           数据结构+算法=程序 1.1 C程序和程序设计 (1…
C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事.并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序.字处理程序.游戏.操作系统等.它不仅是更高级语言(如C++)的基础,目前还以Objective C的形式开发手机应用程序.目前,C语言最新版本由ISO/IEC 9899:2011 文档定义.           数据结构+算法=程序 1.1 C程序和程序设计 (1)以下…
写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛出了道杜教筛) 然后白天就脑补了几道 积性函数 把例题过了一遍 Submit_Time 1696174 wohenshuai 2154 Accepted 245432 kb 10556 ms C++/Edit 1152 B 2016-11-08 16:50:10 1695614 wohenshuai…
[T1] [简要题意]   长度为N的括号序列,随机确定括号的方向:对于一个已确定的序列,每次消除相邻的左右括号(右左不行),消除后可以进一步合并和消除直到不能消为止.求剩下的括号的期望.\(N \leq 2000\),保留三位小数. [做题过程]   看上去一道傻逼题,又让我涨姿势了.   直接按长度DP咯?仔细一想,要记录一直延续至今的待消左括号个数,所以起码是二维.所以就是 \(F_{i,j}\) 表示处理了前i个点,目前有j个待消的左括号.写了一半我才发现一个问题, $F_{i,j} $…
SDOI2016 R1做题笔记 经过很久很久的时间,shzr终于做完了SDOI2016一轮的题目. 其实没想到竟然是2016年的题目先做完,因为14年的六个题很早就做了四个了,但是后两个有点开不动... 那么就顺着开始说: 储能表:https://lydsy.com/JudgeOnline/problem.php?id=4513 题意概述:给定一张大表格,i行j列的数是 $i$ $xor$ $j$,多组询问,求 $\sum_{i=0}^{n-1}\sum_{j=0}^{m-1}max((i \b…
HNOI2014 世界树(虚树.倍增) \(\sum M \leq 3 \times 10^5\)虚树没得跑 对于所有重要点和它们的\(LCA\)建立虚树,然后计算出每一个虚树上的点被哪个重要点控制.注意这里不仅要从父亲向儿子DFS一次,还要从儿子向父亲DFS一次,因为有可能某些重要点向上控制一些点. 对于虚树上一个点\(i\)的没有重要点在其中的子树,子树中的所有点一定归控制这个点的重要点控制,这些子树的点数和是\(size_i - \sum size_j\),其中\(j\)是\(i\)的儿子…
题意:有一个长度为\(n\)的字符串,求它最长的子串\(s\)满足\(s\)是长度为4的倍数的回文串,且它的前半部分和后半部分都是回文串. \(n \leq 5 \times 10^5\) 首先,显然要用manacher求出以每一位为中心的最长回文串.考虑枚举\(s\)最中间的一个位置\(i\),且以其为中心的最长回文串长度为\(2 r_i\),那么,前半部分的中心\(j\)就必须在\([i - \lfloor \frac {r_i} {2} \rfloor,i)\)的区间上,并且\(i - j…
刚学了Dinic就开始做题,然后就崩了. 题意:若干个任务,可以放在两个CPU中任意一个上完成,各有一定代价.其中又有若干对任务,如果它们不在同一个CPU上完成,会产生额外代价.最小化并输出代价. 一开始的想法是吧一个任务拆开成两个点(受2-sat的影响),然后就发现自己没法做了.首先,需要保证由同一个任务拆成的两个点只流过一个,这就会使最大流变成费用流.(我不会费用流)其次,难以满足第二个要求.后来一想,网络流与2-sat建图的区别在于网络流的状态表现在边的流量上(是否满流),而2-sat表现…
赛前做题时忽然发现自己概率博弈类dp很弱,心好慌.(获胜概率或最优解期望) 于是就做了这道题,续了特别久. 一开始列dp式子的时候就花了很长时间,首先搞错了两次,然后忘记了根据上一轮dp值直接确定选什么最优,乱列了4个不等式看得自己一脸懵逼. 然而确定了选什么最优,我们就可以用无限级数计算出当前这一个石头由自己取出的概率,然后就可以直接转移了. 网上题解表示答案是收敛的.我也不知道为什么.(原以为要用必胜策略优化dp) #include <bits/stdc++.h> using namesp…
HYSBZ(BZOJ) 4300 绝世好题(位运算,递推) Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). Input 输入文件共2行. 第一行包括一个整数n. 第二行包括n个整数,第i个整数表示ai. Output 输出文件共一行. 包括一个整数,表示子序列bi的最长长度. Sample Input 3 1 2 3 Sample Output 2 Http HYSBZ:http://www.lydsy…
这种题先二进制拆位,显然改的位置只有每一段确定的数的开头和结尾,只需要对于每一个可决策位置都尝试一下填1和0,然后取min即可. #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm> #define ll long long using namespace std; ; const ll inf=1e15; struc…
觉得做一道开一篇真不好...好多想找的东西都被刷下去了... 至于?的日期究竟到什么时候...还是看心情...但是估计不会超过七天吧 最后更新时间:05/19 10:42 [05/14 10:56]我要哭了!!!一会儿再写题解吧去吃个饭压压惊... [05/14 20:57]一天只做了2道题我在干什么啊...明天早上又是原题大赛..看来又可以早早弃疗了... [05/15 11:20]果然啊..码完T1就滚去做其他事情了... [05/16 20:31]早上模拟赛打了三个暴力...值得开心的是都…
#3083. 「GXOI / GZOI2019」与或和 题目大意 给定一个\(N\times N\)的矩阵,求所有子矩阵的\(AND(\&)\)之和.\(OR(|)\)之和. 数据范围 \(1\le N\le 10^3\),\(val_{(i,j)} \le 2^{31}-1\). 题解 一眼题. 对于这种位运算的题,题都不用看完先想拆位,拆位可行那就拆,拆位不可行就不拆. 这里指的拆位可不可行具体指的是答案满不满足对于拆位之后的可加性. 发现这个题所求的是个和,那就果断拆开. 这样的话问题就变…
Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律6 求一个串每个长度出现次数的最大值 求出fail树每个点的size就是该点的出现次数,由于答案是(非严格)单调减的,每个点更新一下 \(ans[len[i]]\) Hihocoder 后缀自动机四·重复旋律7 求几个数字串本质不同的子串所代表的数的和, \(mod\ 10^9+7\) 先建一下广义…
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车往右开,只要没走到最左边,最后也要折回左边,所以不如先走完左边然后直接过来.左边<右边一样. 然后递归下去变成了一个子问题,可以看做一边的票数+=另一边,然后删除另一边. AGC023 E 考虑枚举两个位置\(i,j\)计算这两个位置产生逆序对的排列数量. 如果\(A_i=A_j\)很好算,方案数都是对…
POI2011 Conspiracy (2-SAT) Description \(n\leq 5000\) Solution 发现可拆点然后使用2-SAT做,由于特殊的关系,可以证明每次只能交换两个集合中的一个元素,或者改变一个元素的位置,然后分类讨论即可. 注意特判集合为空的情况. POI2011 Lollipop (YY) Description \(n,m\leq 1000000,q\leq 2000000\) Solution 挖掘题目性质,由于只存在1,2.所以对于一个端点为1的线段,…
最近几天打算认真复习LCT,毕竟以前只会板子.正好也可以学点新的用法,这里就用来写做题笔记吧.这个分类比较混乱,主要看感觉,不一定对: 维护森林的LCT 就是最普通,最一般那种的LCT啦.这类题目往往就是用LCT维护森林,从而快速的实现一些链上操作:其中,某些题只是维护一棵形态固定的树,用树剖也可以做,复杂度 $n\log^2n$,如果使用LCT则变成了 $n\log n$:有的题目涉及断边连边,就必须使用LCT了.这次复习做的前几道题都属于这种,这几道题的难点其实不在LCT上,只要会敲模板就O…