随学
eva_can(not)survive
这个作者很懒,什么都没留下…
展开
-
CF 807 E. Mark and Professor Koro(权值线段树)
假设某一个数是x,若有出现两次以上的x,那么我们就可以合并为x+1,可以想到二进制加法,当一个二进制数为00011,若第一位+1,则该数变为00100,跟我们上面的情况一样,所以我们可以将其转化为二进制加法,然后用线段树维护。将第k个数改为x,并问你改完之后可以选择出现2次的数合并为该数+1的数,求完成这些操作后序列的最大值。给你n个数的序列,再给你m个操作,每次操作给出你两个数k,x。...原创 2022-07-16 17:20:05 · 461 阅读 · 1 评论 -
P7368 [USACO05NOV]Asteroids G(k o¨ nig)
[USACO05NOV]Asteroids G - 洛谷https://www.luogu.com.cn/problem/P7368题目让我们求最小代价,我们可以考虑那些点在同一行和同一列得,所以我们可以将这些点行列连边,然后求最小点覆盖,走一遍匈牙利就好。...原创 2022-07-13 17:21:06 · 255 阅读 · 0 评论 -
P1407 [国家集训队]稳定婚姻
[国家集训队]稳定婚姻 - 洛谷https://www.luogu.com.cn/problem/P1407典型的二分图匹配问题,但这道题要先把正式夫妻先配对起来,先女后男,所以把男的都匹配上他们的老婆,然后再在有暧昧关系的两者之间建边,每次用匈牙利匹配的时候我们就可以把正房拆开,让他老婆去找有没有小三能跟她,如果有一个女的能找到被她抛弃的老公说明就可以起到连锁反应让他们都偷上情,当然匹配完后要把那一对夫妻重新绑定起来。...原创 2022-07-13 16:31:57 · 282 阅读 · 0 评论 -
P4309 [TJOI2013]最长上升子序列(dp+树状数组优化)
[TJOI2013]最长上升子序列 - 洛谷https://www.luogu.com.cn/problem/P4309先用vector模拟一遍插入过程,又因为是从1-n的插入,所以我们可以直接遍历插入后的数组,举一个例子当i出现时,小于i的数字肯定也在数组里,所以我们只需要顺序遍历就可以了,然后我们可以通过用树状数组记录小于 i 的dp最大值,这里dp[i]可以理解为以i为结尾的最大递增子序列的元素数量,一道很好的思维题。...原创 2022-07-12 15:26:59 · 267 阅读 · 0 评论 -
Passable Paths (hard version)(LCA)
Problem - G2 - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1702/problem/G2题意为给出一个树,再给出q个查询,每个查询给出树上点的子集,问这一串点能否构成树上的一个简单通路很明显这一题可以用LCA求解,首先我们要确定链的两端点,我们可以先求出最深的那个点,然后求另一个子树的最深节点,如果求不出另一个端原创 2022-07-11 14:26:51 · 267 阅读 · 0 评论 -
P3386 【模板】二分图最大匹配
【模板】二分图最大匹配 - 洛谷https://www.luogu.com.cn/problem/P3386原创 2022-07-10 21:58:42 · 107 阅读 · 0 评论 -
单调队列的运用
[HAOI2007]理想的正方形 - 洛谷https://www.luogu.com.cn/problem/P2216首先这一题我们可以压缩矩阵,用单调队列维护行和列先维护每一行区间最大值和最小值再维护更新后的数组的每一列的最大值和最小值最后得出的数组的每一个元素就是n*n矩阵的元素的最大值和最小值,画图就可以明白了、选择数字 - 洛谷https://www.luogu.com.cn/problem/P2034这一题属于单调队列优化的dp题目要求我们求取若干数,但不连续取k个以上的数后的最大和。我们可原创 2022-07-08 14:45:11 · 166 阅读 · 0 评论 -
Codeforces Round #669 (Div. 2) E(dp+反向建边最短路)
Problem - E - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1407/problem/E一道很有趣的最短路题,题意说明我们需要求没有最短路或如果必须有则求最长最短路。我们先考虑正向建边,如果求最短路的话我们需要有两种可能以0去求和以1去求,到最后我们无法确定该城市用的是白天还是黑夜,所以我们需要反向建边,这样我们就能原创 2022-07-07 22:34:41 · 108 阅读 · 0 评论 -
单调栈性质的运用
[COI2007] Patrik 音乐会的等待 - 洛谷https://www.luogu.com.cn/problem/P1823通过单调栈的性质,来遍历序列,若该元素大于栈顶,则他们两个可以构成一对能够相视的人,一直推就行,当然我们还要记录相同元素的个数,以便直接加起来。Problem - D - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.原创 2022-07-07 21:23:21 · 85 阅读 · 0 评论 -
P3047 [USACO12FEB]Nearby Cows G(树形dp)
[USACO12FEB]Nearby Cows G - 洛谷https://www.luogu.com.cn/problem/P3047一个很有趣的树形dp我们可以设状态f【i】【j】, i为当前根,j为距离为j时的点权和首先我们可以取1为根跑一遍dfs,将以i为根的子树的点权和记录下即用儿子更新父亲,此时1肯定已经求完了,我们就可以再一次从1开始跑dfs用父亲去更新儿子。...原创 2022-07-05 21:37:07 · 231 阅读 · 0 评论 -
MEX有关的学习
MEX是一段区间内未出现的最小正整数。所以向该区间加一个数只有加入该区间的mex值时才能增加;我们来看两个题目Problem - C - Codeforceshttps://codeforces.com/contest/1699/problem/C首先我们可以思考一个区间【L,R】的mex是x,说明【0,x-1】肯定都出现过了,所以如果x的位置在该区间内部则可以在区间内任意一个未被使用的位置,如果不在该区间内就只能在那个位置不动了,因为x一旦动那么该序列的mex值肯定会受到影响。 Problem -原创 2022-07-05 15:26:37 · 811 阅读 · 0 评论 -
P4281 [AHOI2008]紧急集合 / 聚会(LCA)
[AHOI2008]紧急集合 / 聚会 - 洛谷https://www.luogu.com.cn/problem/P4281这题很明显要用LCA写,求3个点两两LCA然后判断,如果这3个LCA相等那么他们就在该点汇合,若有一个不一样则,在那个不一样的汇合,不可能出现三个都不一样的情况。正确性画个图就可以判断出来。...原创 2022-07-04 15:39:22 · 164 阅读 · 0 评论 -
P4408 [NOI2003] 逃学的小孩(树的直径)
[NOI2003] 逃学的小孩 - 洛谷https://www.luogu.com.cn/problem/P4408一道学习树的直径的好题。题目要求最长的时间,说明答案应该是树的直径+max(起点离最近的朋友家的距离)所以我们不仅仅要求树的直径,更要记录直径上的点,并遍历它们求最长延申距离。...原创 2022-07-04 00:47:44 · 211 阅读 · 0 评论 -
P3304 [SDOI2013]直径(树的直径)
[SDOI2013]直径 - 洛谷https://www.luogu.com.cn/problem/P3304本题先跑dfs找任意一条直径,并记录这条路径和其两端端点,首先从左端点开始枚举直径上的每一个点,记录该点走其他路径的最大路径值(非本直径的路),然后开始找这些最大路径值能否等于原来的那一条路(相当于分叉出一条路能否等于原来的那么长),然后找到该点后,然后从这个点开始判断其离右端点的(与上一样) 画的十分抽象,希望对你的理解有帮助...原创 2022-07-03 23:50:40 · 193 阅读 · 0 评论 -
abc 258 G - Triangle(bitset)
G - Trianglehttps://atcoder.jp/contests/abc258/tasks/abc258_g直接用bitset存邻接矩阵,暴力一下就行原创 2022-07-03 16:35:58 · 167 阅读 · 0 评论 -
AcWing164. 可达性统计(拓扑排序+bitset)
164. 可达性统计 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/166/第一次用到bitset真是一个神奇的容器啊,让我们计算子集非常方便。这个题也直接给出了是有个DAG所以我们可以直接求拓扑序列,然后倒序遍历将其每个点能触及到的状态记录。...原创 2022-07-03 16:14:09 · 143 阅读 · 0 评论 -
[USACO12MAR]Cows in a Skyscraper G(状态压缩dp)
[USACO12MAR]Cows in a Skyscraper G - 洛谷https://www.luogu.com.cn/problem/P3052继续学习我的状压dp,一道状压入门好题还是继续考虑状态和该状态下的量,我发现状压的很多题都要记录该状态的量。这道题就是记录目前牛的坐上电梯的状态,然后记录该状态下最后一班电梯的剩余,然后开始考虑其他牛牛能不能进来,或者是去下一班电梯。...原创 2022-07-02 01:26:39 · 176 阅读 · 0 评论 -
P1896 [SCOI2005] 互不侵犯(状压dp)
[SCOI2005] 互不侵犯 - 洛谷https://www.luogu.com.cn/problem/P1896初学状压dp,看了第一篇题解后的感觉学到了很多,首先矩阵的状压可以以行入手,记录在当前这一行的状态,首先我们看本题思考后有3个状态,所在行,当前行状态和国王数目。所以就要思考递推方程为f[i][j][k](i为当前行,j为此行状态,k为国王数目)+=f[i-1][s][k-t](s为上一行状态,t为这一行的国王数目)所以我们要预先处理掉一行中可能的状态以及改状态下的国王数目,所以第二维可以优化原创 2022-07-01 16:17:45 · 150 阅读 · 0 评论 -
P2622 关灯问题II(状态压缩 搜索)
关灯问题II - 洛谷https://www.luogu.com.cn/problem/P2622状态压缩的一个学习案例,一道很经典的题目。原创 2022-07-01 14:56:49 · 110 阅读 · 0 评论 -
最长异或路径(dfs+01trie)
dfs+01字典原创 2022-06-28 17:03:49 · 70 阅读 · 0 评论 -
给定一个数在序列中求最大异或值(01字典)
01字典原创 2022-06-28 16:03:17 · 126 阅读 · 0 评论 -
字典树(随学)
字典树原创 2022-06-28 14:55:10 · 49 阅读 · 0 评论 -
回文子串的最大长度(字符串哈希+二分)
回文子串的最大长度原创 2022-06-27 21:37:27 · 188 阅读 · 0 评论 -
ABC253 D FizzBuzz Sum Hard(容斥定理)
11原创 2022-06-26 15:43:13 · 142 阅读 · 0 评论 -
月赛50 F 鸡尾酒数(思维)
登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://ac.nowcoder.com/acm/contest/11227/F...原创 2022-05-25 15:23:57 · 101 阅读 · 0 评论 -
牛客月赛50 D 生日(计算贡献)
登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://ac.nowcoder.com/acm/contest/11227/D这是我第一次接触计算贡献答案的题目,教育意义很好。首先我们来思考一下该题目有哪些人能够相互造成影响从而贡献出当天生日的属性异或值,很明显就只有第i天,第2*i天和第2*i+1天,最多3天能相互影响。原创 2022-05-24 19:51:56 · 92 阅读 · 0 评论 -
LightOJ 1098 A New Function(约数+整除分块)
A New Function - LightOJ 1098 - Virtual Judgehttps://vjudge.net/problem/LightOJ-1098#author=0#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#in原创 2022-05-19 00:36:07 · 122 阅读 · 0 评论 -
P3811 【模板】乘法逆元(线性求)
【模板】乘法逆元 - 洛谷https://www.luogu.com.cn/problem/P3811ll inv[MAXN];int main() { ll n, p; inv[1] = 1; scanf("%lld %lld", &n, &p); printf("1\n"); for (ll i = 2; i <= n; i++) { inv[i] = (p - p / i) * inv[p % i] % p; printf("%lld\n", inv[原创 2022-05-18 10:51:09 · 120 阅读 · 0 评论 -
P3390 【模板】矩阵快速幂
【模板】矩阵快速幂 - 洛谷#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include &l原创 2022-05-17 00:42:41 · 134 阅读 · 0 评论 -
小w的糖果(差分)
登录—专业IT笔试面试备考平台_牛客网主要是学习到了将一个区间加常数 or加x or加x的2次方#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <st..原创 2022-05-14 22:22:13 · 196 阅读 · 0 评论 -
P2107 小Z的AK计划(反悔贪心)
小Z的AK计划 - 洛谷https://www.luogu.com.cn/problem/P2107这一题刚出来习惯性的想到直接走一趟反悔操作然后最后记录的值就是最大,但我发现中间因为需要考虑走路时间的因素会导致有些思考时间少的机房直接不走了去下一个机房了从而错过了最优解,下面贴一下我第一次写时候的错误代码会被这样一组数据hack掉5 181 82 84 76 37 1struct node { ll x, t;};node s[MAXN];bool cm原创 2022-05-10 20:37:39 · 230 阅读 · 0 评论 -
CF865D Buy Low Sell High(反悔自动机)
Buy Low Sell High - 洛谷https://www.luogu.com.cn/problem/CF865D#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring&原创 2022-05-10 00:14:14 · 121 阅读 · 0 评论 -
P2949 [USACO09OPEN]Work Scheduling G(反悔贪心)
P2949[USACO09OPEN]Work Scheduling Ghttps://www.luogu.com.cn/problem/P2949#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include.原创 2022-05-09 22:02:18 · 324 阅读 · 0 评论 -
P3375 【模板】KMP字符串匹配
【模板】KMP字符串匹配 - 洛谷https://www.luogu.com.cn/problem/P3375#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#i原创 2022-05-06 14:22:45 · 120 阅读 · 0 评论 -
AT2442 フェーン現象(差分)
フェーン現象 (Foehn Phenomena) - 洛谷#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include <set>#incl原创 2022-05-04 09:52:10 · 146 阅读 · 0 评论 -
P1352 没有上司的舞会(树形dp)
没有上司的舞会 - 洛谷#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#include <set>#include <unordered原创 2022-05-03 08:24:49 · 128 阅读 · 0 评论 -
P3373 【模板】线段树 2
【模板】线段树 2 - 洛谷https://www.luogu.com.cn/problem/P3373#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#in..原创 2022-05-01 22:41:21 · 78 阅读 · 0 评论 -
P3372 【模板】线段树 1
【模板】线段树 1 - 洛谷https://www.luogu.com.cn/problem/P3372#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#incl原创 2022-05-01 19:53:50 · 290 阅读 · 0 评论 -
P3379 【模板】最近公共祖先(LCA)
【模板】最近公共祖先(LCA) - 洛谷https://www.luogu.com.cn/problem/P3379#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>原创 2022-04-29 20:38:45 · 149 阅读 · 0 评论 -
P3366 【模板】最小生成树(Prim or Kruskal)
【模板】最小生成树 - 洛谷https://www.luogu.com.cn/problem/P3366#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cstring>#incl原创 2022-04-26 13:47:00 · 147 阅读 · 1 评论