摘要:
题解: 比较水吧 显然是平衡树的操作 然后就是写写写 用对拍来查错相比之下直接样例查还是比较容易的 刚开始没有优化常数没开O2就变成暴力分了smg 开了O2就a了 代码: 阅读全文
摘要:
题解: 1. 二分答案之后判断 把式子移项使得x,y不关联 2. 数位dp 考虑10个数字一共有18个 C(27,9) 算一下发现不大 然后就直接记忆化搜索就行了 数比较大可以用map记录 但好像比较慢于是改了hash 然后有3个点是考细节的 后面两个是map如果初值为0就炸了 可能之后一直为0 因 阅读全文
摘要:
题解: [JLOI2015]管道连接 这个很水 比较裸的斯坦纳树dp 斯坦纳树dp就是 g[i][j]表示当前在i点,状态为j 然后转移分为两种 g[i][j]=g[i][k]+g[i][k^j] 另一种是g[i][k]=g[i'][k]+cost 下面这种不满足dag spfa转移 复杂度n*2^ 阅读全文
摘要:
讲的都是一些自己不太想得到的题目 1.区间取min,区间查询最大值,区间求和 这个之前做过 记录区间最大值mx1,次大值mx2,最大值个数 插入的时候分情况讨论 if (mx1<x) 不做 if (max1>=x&&max2<x) 赋值max1 不然就递归下去 复杂度势能分析我没仔细学。。。 2.区 阅读全文
摘要:
题解: E-trips 哎哎哎好傻逼啊 没有想到算不能的一直在想怎么算能的 太傻逼了 其实很简单 我们只需要对好友<=k的首先dfs一下给他连接着的朋友-1 然后如果小于了就递归下去 这个正确性是比较好想的 最后剩下的每个都是好友>=k个的并且都是这之间的 我们把他们都选了就可以了 这样不支持连边但 阅读全文
摘要:
16年的感觉比17年的有用多了啊(17年的太难了) 讲了挺多网络流的经典应用 最大流 1.n*m的格子要求第i行ri个,第j行cj个,其中有的是障碍点 建图方法是s-xi表示行,yj-t表示列 那么我们要求的就是最多的满足一个点既满足行和列 第2道比较水 3.collector's problem 阅读全文
摘要:
题解: 虽然也是个可以过得做法。。。但又没有挖掘到最简单的做法。。。 正解是发现这个东西等价于求不相交区间个数 直接按照右端点排序,然后贪心就可以O(n)过了 而我的做法是按照a排序(其实我是在模拟这个过程但我没有发现他的本质。。。) 然后f[i][j]表示前i个,最大要求为j的最大值 然后用线段树 阅读全文
摘要:
题解: 比正解的做法要复杂 正解直接确定了最多有2k-1段 并且可以证明2k-1是一定可以覆盖的 于是可以直接dp 我的想法是先覆盖一段黑的,然后白的覆盖上去 所以f[i][0/1/2][0/1/2] 表示当前下面那层颜色是啥,上面那层颜色是啥 代码: 阅读全文
摘要:
题目大意: 有一些物品,每个买了有代价。 如果存在一个极大区间[l,r]内的物品都被买了,这个区间长度为k,可以获得的收益是k*(k+1)/2。 现在若干次询问,每次问假如修改了某个物品的价格,最大收益是多少? 题解: 一般来说这种题目可以考虑线段树分治 但是这里并不可行 另外一种解决区间限制的问题 阅读全文
该文被密码保护。 阅读全文
摘要:
。。 阅读全文
摘要:
。。。 阅读全文
摘要:
题解: 比较水的题目 普通dp其实复杂度还是比较大的 可以任意模数ntt优化。。 但好像没人写。。 代码: 阅读全文
摘要:
以前学的分治fft f[i]=sigma(f[i-x]*g[x]),其中g[x]已知 那么我们可以用cdq分治来做(l,mid 对mid+1,t的影响) 而现在的$f[i]=sum(f(i-x)*f(x))$ 我们如果沿用刚才的方法 会发现有$f(t-h)$这一项 而$t-h>mid$是有可能的 所 阅读全文
摘要:
题解: 一道比较好的题目 首先比较显然的就是我们要按照a*2^b的b的顺序来枚举 那么状态f[i][j]表示当前在b,用了a*2^b 刚开始没想到怎么不同层之间搞 看了题解发现非常简单 由于每一层到最后一层有用的二进制位至少时从自己的二进制位开始 所以我们可以舍弃那些没用的二进制位 maxa(f[i 阅读全文
摘要:
题解: 具有单调性的题目还是要多想想二分答案 不二分答案暴力dp是n^3的 非常不优秀 二分答案之后就比较好做 mx[i],nx[i]表示最多/最少几个与a[1]相同 代码: 阅读全文
摘要:
题解: 注意题目说了每个点的权值只能增加 每个点的dp方程比较简单 min(v[i],sum[i]) 那么我们考虑如果v[i]增加那么上面使用sum[i]的会带来影响 暴力的做就是一个个往上查然后修改 比较显然的是这个东西可以二分 我们维护v[i]-sum[i]的值,查到那个不符合的就可以了 这样我 阅读全文
摘要:
题解: 比较容易想到二分答案+时间逆流 这样就变成了经典的路灯问题 f[a][b][0/1] 其实可以不用二分答案 根据倒着考虑我们会发现一定是先走旁边的再走中间的 计算到当前点+下课时间所需的最小时间 代码: 神奇的wa了一个点 对拍并不能拍出来 阅读全文
该文被密码保护。 阅读全文
摘要:
题解: 好像很套路啊。。。。 阅读全文
摘要:
题解: 这题真是把我坑的很惨。。 题目看了很久才看懂。。 然后刚开始又没看见每个只能匹配一个这种条件 然后又思考怎么处理相同元素思考了比较久 我自己写了一种特判相同元素的方法。。。非常复杂。。。(还是看错题目的),之后就没改了 大致就是枚举这些元素里哪些是镜子,哪些是由东西组合的,然后再乘组合数再乱 阅读全文
摘要:
题解: div3水的没有什么意思 abc就不说了 d题比较显然的就是用hash 但是不能直接搞 所以我们要枚举他后面那个数的位数 然后用map判断就可以了 刚开始没搞清楚数据范围写了快速乘竟然被hack了 E题是个经典的贪心或者树形dp 问题可以转化成每个点能覆盖周围距离为1和自己的点,然后求最小几 阅读全文
摘要:
C题是个傻逼题, 一定是先向右,然后停了或者向左走到某一个点(左边同理)模拟就可以了 D题想了一会才想出来 和tjoi那道排序挺像的 二分答案变0/1来做 刚开始写的时候还把自己作为另外一类搞出来 这样处理挺麻烦的 直接把自己当做比自己大的那一类然后在二分答案时h=mid就可以了 统计答案的时候随便 阅读全文
摘要:
A。绯色 IOI(开端) 首先注意到是完全图,数据范围又很大,肯定要观察一些性质 我们化简一下式子 发现其实是要求simga(xixj)最大 那么结论就很好想了 最大的和次大的第三大的连一起。。。然后。。。。 至于题解说的部分分要求大小递减也是很容易想的 B. 绯色 IOI(抵达)(写) 也是性质题 阅读全文
摘要:
花团 线段树分治裸题 给出了结束时间跟离线没区别 「LibreOJ Round #6」花火 首先在第一次使用交换是显然的 然后统计逆序对暴力是n^2的(前缀和优化) 因为交换两个点改变的只有x<i y>i 刚开始想了决策是不是单调的 然后发现不是的 我们可以将它放在图上 然后我们会发现只有左上角没有 阅读全文
摘要:
题解: 搞这题搞了一天 思维不是很难 就是暴力压位bitset 分块做法速度更快 但是stl里的不能实现这个功能 所以手动实现 64位压一位 到65535跑一下1的个数 然后(x>>16)&65535+...计算出1的个数 眼查错果然还是不靠谱以后还是写对拍吧 另外的难点在于这题很卡空间 我们建立d 阅读全文
摘要:
题解: 都是不错的技巧题目 t1暴力就不说了 t2dp是比较显然的 然后发现都是0,1用bitset优化 代码非常短 t3容易发现这个东西在不断合并 于是我们想到启发式合并 存疑:splay启发式合并复杂度 为了比较简单用了set的启发式合并 线段树启发式合并可以做到nlogn updata的时候计 阅读全文
摘要:
题解: 挺简单的题目 f[i][j]表示x坐标为i,y坐标为j的最小值 会发现那个东西是个完全背包 从f[i][j-a[i]]转移一下就是O(1)转移的了 另外上界为m这个要特判一下 我把sum[a[i]]写成了sum[i]还过了样例拿了65分真的是神奇 另外注意一下要先计算再判断不可行的 因为他是 阅读全文
摘要:
题解: 并不知道题目顺序就按照难度排序了 [JXOI2017]加法 这是一道很简单的贪心 最小值最大二分答案 然后我们可以从左向右考虑每一个位置 如果他还需要+A 我们就从能覆盖它的区间中挑一个最右的 正确性比较显然 暴力是n^2logn*T的 可能比较虚 会发现覆盖操作可以用线段树维护,查询最右可 阅读全文
摘要:
题解: 分块好写好调好对拍。。 大部分的题目可以用其他数据结构来解决 但是对于一部分题目分块有自己的优势 下面这两道题目是只能用分块算法来做 教主的魔法 线段树套平衡树是可以维护这个东西的,但是这题预处理复杂度 分块+块内二分查找 注意二分查找的时候如果可能比h要小 这是个老问题了。。。 6285. 阅读全文
摘要:
题解: 一道练代码能力的题目。。 首先很显然他是一道平衡树裸题 第5个操作是势能分析维护最大值最小值就可以了 另外设置虚点和noip2017队列那题一样(不过我只写过线段树) 具体细节: 1.内存池,要直接判断(!x) 因为可能进去就是0 2.输出的时候有重复的要都输出 3.search的时候要do 阅读全文
摘要:
题解: 网上还有一种spfa+深度限制的算法 https://www.cnblogs.com/BearChild/p/6624302.html 是不加队列优化的spfa,我觉得复杂度上限是bellman-ford nm的,另外从每个点跑加上二分答案所以是n^2mlogn的 但实测的确是挺快的,可能是 阅读全文
摘要:
题解: 阅读全文
摘要:
题解: 这题比较妙啊。。。 首先暴力自己算是找不出规律的 有一种直觉就是可以把式子变成{f[1]+...f[n]}+{f[2]+...+f[n]}+{f[3]+...+f[n]}... 然后看了题解发现好傻逼 可以变成n{f1+..f[n]}-{...} 就是都变成了f[1]开始的前缀和 那么我们只 阅读全文
摘要:
A 同花顺 文件名 输入文件 输出文件 时间限制 空间限制card.cpp/c/pas card.in card.out 1s 512MB题目描述所谓同花顺,就是指一些扑克牌,它们花色相同,并且数字连续。现在我手里有 n 张扑克牌,但它们可能并不能凑成同花顺。我现在想知道,最少更换其中的多少张牌,我 阅读全文
摘要:
1.餐巾计划问题 这道题目算这些题目里比较难的题目,详细的说一下 首先我们注意到每天要求的纸巾不同,那很显然最后流入汇点一定是分别流入的 考虑拆点 按照一般的思路我们从超级源向早上连边表示提供新的纸巾 接下来晚上流入汇点是否可以呢 我们考虑一下我们晚上是要有向某一天的早上(快洗慢洗)连边的操作的 这 阅读全文
摘要:
题目: 街上的街灯亮起,指引向着远方的路。每个街灯上都有一个数,每次询问,第l个街灯到第r个街灯上的数模p等于v的有几个。 【输入格式】 第一行两个数N,M,代表街灯的个数和询问的个数。 接下来一行N个数,代表街灯上的数。 接下来M行,每行四个数l,r,p,v代表一组询问。 【输出格式】 对于每次询 阅读全文