- 博客(71)
- 收藏
- 关注
原创 Educational Codeforces Round 164 A-E
Educational Codeforces Round 164 A-E
2024-04-17 21:08:30
984
原创 sql 注入 ctf wiki
MySQL 4版本时用version=9,MySQL 5版本时用version=10 UNION SELECT GROUP_CONCAT(table_name) FROM information_schema.tables WHERE。用户自定义的表 UNION SELECT TABLE_NAME FROM information_schema.tables WHERE。1,1’,1’‘,1’±,1’'±(双引号带括号)
2023-11-29 19:13:54
521
原创 三分/01分数规划
二分答案,然后分数规划模型,转换一下发现就是重新定义每个人的点权,然后跑一个树上背包,但是树上背包要满足:儿子选了父亲一定要选。与之前不同的是,此题没有限制选的数量,而是限制分母的和,二分完后,转换为背包问题即可。传送带,每个传送带只有一个点出发/到达是最优的,所以单峰,满足三分性。从小到大排序,三分最后出成绩的时间,然后贪心,将晚出的学科进行操作。注意测试点C==1e16时会炸longlong,进行特判。转换一下,其实就是买的物品个数变成了一个范围。的时候,一旦出现一个满足范围且。,特殊预处理一下即可。
2023-11-17 17:02:18
174
原创 2023湖南省赛游记/题解
因为对于这10个数字来说,后面的数字它只有两种身份,之前选了/没选,所以当前位相同,之前不同的数字个数相同,剩下的方案数就相同,就可以用记忆化。然后对于每一件物品,重量小的物品可以合并成大物品,但大物品不能拆解成小物品,所以我们按位从小到大枚举目标物品数组,贪心地用小物品去满足当前位的数量,然后将剩下的物品贪心地两两合并成下一位的物品。数位dp,不知道省赛脑子犯了什么抽,受前几天一道数位dp,直接把状态数组压入map暴力记忆化的影响,想当然的觉得这题也是这么做,大哥直接提出时间复杂度是不够的。
2023-10-02 22:08:08
2283
原创 容斥 / dp
因为物品数很少,不合法状态就是各物品超出限制后的并集,可以状压枚举那几个物品超出了限制,然后容斥解决。首先可以用完全背包处理出无限制的方案数,然后考虑怎么剪去不合法状态。一类问题:选出几个数,然后问这几个数的gcd为。的方案数,然后可以逆推,首先可以直接求出。的方案数即可,发现复杂度是一个级数求和,太大,每次做一次背包T。的个数,然后容斥剪去。
2023-09-20 16:00:50
203
原创 矩阵与图
阶有向图,边权为 1,然后给一个整数。重新定义dp方程然后转移,初始化从。阶有向图,每条边的边权均为。,你的任务是对于所有点对。阶加权有向图和一个整数。每次两个矩阵转移时只取最短。,你的任务是对于每个点对。限长路径计数/最短路。
2023-09-20 11:43:47
215
原创 决策单调性优化dp
很像邮局那种,我们肯定是将区间中点靠得比较近的区间交给一个自动的机器管理即可,所以先将区间排序。然后转换为2D1D类经典问题,先分析这个dp肯定是满足决策单调的,接下来就是如何快速求。易证机器开始区间肯定是在某个区间左端点,或者结束区间时某个区间右端点,所以正常可以枚举。证明决策单调,然后用单调队列维护每个点作为最优决策点的范围,每次加入点 二分更新。决策单调,分治然后暴力更新区间信息,因为每个递归层区间端点最多移动。转换一下式子,分成两次dp,每次可以决策单调优化。,然后枚举开始的时间,然后再遍历一遍。
2023-09-07 13:19:34
240
原创 wqs二分/带权二分
同一类最小生成树选几个特殊边的问题,打表或者感性理解是一个下凸的函数,直接套wqs二分,每次给特殊边附加权,然后重跑一次kruskal。是一个凸函数,可以二分切线的斜率,转换成无限制问题,然后根据选了几个调整斜率,使切点横坐标逼近。个部分的最小距离和,然后对于一个部分,反证易得邮局应该放在中间的村庄。,是一个上凸函数,所以直接套wqs二分,每次用斜率优化。是一个上凸函数,先增后减,所以wqs二分优化掉。的最长链的最大值,发现不好转移,比如将儿子。,然后转移就很好写了,两种决策,合并到。
2023-09-02 16:26:35
201
原创 矩阵树定理
求行列式(取模用辗转相除),即图的生成树个数。推式子,套板子,特殊处理概率为1的点,防止除0。,生成树构成的边的概率乘积,再累加。板子 注意要去掉最后一行最后一列。构造一个拉普拉斯矩阵:对于边。
2023-08-26 20:57:02
184
原创 CF736D Permutations
然后考虑一个条件失效,那么通过那个位置的代数余子式,就可以得到这一行失效后的合法方案数,又已知伴随矩阵各个位置代表各个代数余子式,首先领接矩阵表示哪个数可以放哪个位置,设为1,然后它所构成的。阶积和式就是每个条件都成立的合法方案数。*给个位置上奇偶性只取决于。
2023-08-23 23:02:58
130
原创 概率期望 / dp
我们发现当前卡牌是否发动技能的概率受到前面卡牌的影响(前面选了几张卡,那么我再怎么也要有几轮把前面的卡选完),但不受到后面卡牌的影响,所以我们设。考虑有等概率随机按开关的情况,其实在前面我们就能知道,给出的数据我们一共要按的开关就只有那几个,一个开关重复按两次是没有效果的,按错了开关到最后也得按回去,所以我们状态设计就是已经按了几个要按的开关,很小,直接状压,然后暴力枚举状态看是否全部覆盖,发现坐标跨度很大,对坐标离散化,依次差分修改,期望dp,从已经满足的点倒着推,首先考虑状态,发现。
2023-08-19 16:18:32
164
原创 Educational Codeforces Round 153 D-E dp,bfs
Educational Codeforces Round 153 D-E dp,bfs
2023-08-19 16:00:18
270
原创 codeforces #893 D-E1
然后分别求前缀后缀最大值,求完后分类枚举分割点,最后求出每个。发现其实是一个树状结构,离线遍历一遍树然后维护各个节点求答案。问题就可以转换,我们先分类,然后找到分界点,dp出每个。两种情况,最长0串在左边,最长1串在右边,或者反过来。操作的东西,然后记录上一次操作所在的点。操作,只要添加节点,倍增维护祖先。首先分析最后要求的,如果再。应该越大越好,然后枚举。操作,就是倍增向上跳。操作,我们维护一个只有。操作,记录当前所在节点。转移直接枚举开头在哪。
2023-08-16 14:47:53
84
原创 整体二分
整体二分模板题,先离散化,本来对于每一个查询进行二分答案,但时间复杂度较高。所以整体二分,先将数和询问分别存入。中,然后不断二分值域,每次分出。,并用二维树状数组来进行查询。
2023-08-15 18:34:29
153
原创 CF 1859E Maximum Monogonosity 绝对值的巧妙处理和状态设计
CF 1859E Maximum Monogonosity
2023-08-14 22:39:23
210
原创 博弈论 sg函数
斐波那契博弈:有一堆个数为n(n>=2)的石子,先手不能在第一次把所有的石子取完,至少取1颗,之后每次可以取的石子数至少为1,至多为对手刚取的石子数的2倍,取走最后一个石子的人为获胜。的节点会产生贡献,如果固定根,他们各点的异或和很好求,但是现在明显要用换根来计算各点作为根的贡献,首先我们考虑第一遍dfs的时候需要什么状态,比较显然的就是当。打表,套getsg板子,要注意的是操作一次,炸弹会变成两个,相较于之前要么行坐标改变,要么列坐标改变,因此枚举操作。2.没有个数大于1的堆,异或和为0,先手必胜。
2023-07-11 00:59:15
214
原创 力扣贪心
也就是说对于已有的两两重合的区间,只需要移除尾部更靠后的区间即可,这样对后面区间的影响比较小。先从简单问题开始想:有三个区间,1与2重合,2与3重合,1与3不重合,显然移除2区间即可。做法就是从后往前遍历,用map记录某个湖最早出现的位置,不断更新。相反不下雨的一天,只需要抽出当前装满水且之后最先下雨的湖泊。然后从前往后模拟,每次一个湖装满水,就将其加入优先队列当中。题目终点就转换成了如何找当前装满水且之后最先下雨的湖泊。比较好想的思路就是,模拟,遇到下雨天。
2023-04-16 11:11:14
399
原创 codeforces 1792D Fixed Prefix Permutations
codeforces 1792D Fixed Prefix Permutations
2023-03-08 00:08:58
192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人