![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
训练
文章平均质量分 76
DevourPower
Devour
展开
-
2014 - 2015东京区域赛:Problem G Flipping Parentheses【线段树变种】
比赛链接 本题题意:给你一个合法的括号串,比如(())()()()() 然后会改变q次,每次改变一个括号的朝向,然后你要输出一个数ans表示你要翻转第ans个括号的朝向使得新的串仍然是合法的;同时如果存在多个ans,请对最左边的括号操作。即要求找一个leftest 下标翻转后能保持括号信息正常; 括号匹配容易想到栈和前缀和。栈排除,因为有q次操作;前缀和设左括号为+1,右括号为-1,于是能得到一个前缀和串; 容易知道,括号串合法的充要条件是前缀和串处处不为负数; 又双叒叕容易想到: 如果翻转了pos位置的一原创 2021-05-18 09:51:32 · 146 阅读 · 0 评论 -
B - Operation线性基入门:【条件动态维护区间线性基】【前缀线性基】
题目链接VJ 题目链接HDU (本文是对%%%%%的学习笔记,同时使用了本题作为例题学。) 线性基真是个简单而强大的东西,然而我因为很少遇到线性基的题目基本没有怎么学习,线性基是一个基于贪心的数据处理技巧。 如果定义原序列通过若干个元素异或的到的新集合为序列的异或域,那么线性基就是一个异或域与原序列异或域相同的极小集合。 线性基三大性质: 1.原序列里面的任意一个数都可以由线性基里面的一些数异或得到 2.线性基里面的任意一些数异或起来都不能得到 0 00 3.线性基里面的数的个数唯一,并且在保持性质一的前原创 2021-03-22 15:19:54 · 204 阅读 · 0 评论 -
Dsu on tree树上启发式合并经典例题算法代码剖析
题目链接:E. Lomsat gelral 树上启发式合并合并,初见这个名字,我和大部分人一样望文生义觉得应该是子树信息的合并使用了一种“启发式”,相当于区间操作的线段树的Lzay标志一般,仅仅启发而不去真的合并。 然后我兴高采烈的学了一下发现其实就是一个暴力。一个优雅的暴力优化。 dsu on tree,dsu就是并查集,直译为树上并查集。(某L称该算法为静态链分治。 首先我们审视一下题目暴力的写法: 对于每个子树开一个桶或者对每个子树都清空一次桶,然后暴力跑得出空间为N2N^2N2 或者时间为N2N^2原创 2020-11-11 11:27:38 · 208 阅读 · 0 评论 -
东北林业大NEFU 五一欢乐水题 F&H题解
比赛链接 H卡迪亚的游戏 这题一看,零一背包的皮,然后无论是回溯做法的O(2^n)还是正常dp的O(VN)都满足不了这些毒瘤数据,过于生草,然后神勇的队友竟然设dp[i][j]为前i个物品价值为j的情况下的最小重量。时间复杂度一下子变成O(n*价值最大值),才1e4。 代码: #include<cstdio> #include<iostream> #include<a...原创 2020-05-03 19:06:12 · 239 阅读 · 0 评论 -
5.2日训练赛题解【2019 USP-ICMC】
以后一并全写到一个地方去了。顺便存代码 A.Jumping Buildings 题目链接题目链接题目链接 单调栈例题,我竟然差点没想起来,得把这些复习一下了。 代码: #include <iostream> #include <algorithm> #include <cstdio> #include <cmath> #include <cst...原创 2020-05-03 10:30:53 · 412 阅读 · 0 评论