
训练赛
文章平均质量分 74
dplovetree
华东师大 数据学院在读
展开
-
“蔚来杯“2022牛客暑期多校训练营4 E - Jobs (Hard Version)
然后插入一个点或者删除一个点就在二维树状数组上进行加减,当然不是在当前点的所有右上角进行加减,而是需要求出当前这个点和单调序列的前驱、后继夹出来的特有矩形,在这上面执行操作。这几天,也不知道自己在纠结什么,不知道是后悔还是不甘,也不知道自己喜欢acm是因为做出题的愉悦,还是因为自己打的还算不错的底子,抑或是这两年在集训队的点滴。如果没有公司的限制,只是要求每个人能够在几个岗位任职,就是简单的三维偏序问题,直接。因为求的是种类数,将同种类的岗位放在一起看,可以发现,对于两个不同的岗位。......原创 2022-07-31 09:10:11 · 279 阅读 · 0 评论 -
Great Cells & Counting Grids
妙妙子题原创 2022-07-13 15:09:27 · 196 阅读 · 0 评论 -
2021 Jiangsu Collegiate Programming Contest F. Jumping Monkey II 树剖+线段树
F. Jumping Monkey II题意:给你n=2e5n=2e5n=2e5的一棵树,每个点有点权 a[i]<=1e9a[i]<=1e9a[i]<=1e9,对于每个点,求以这个点出发,并且以自己为 LISLISLIS 的起点 的 最长 LISLISLIS的长度。思路:首先假设一号结点为根,然后每个点作为LIS的起点有三种可能:标注ststst的结点为 LISLISLIS的起点,直线向上代表走父亲,向下代表走子树。圆圈的点,是在 LISLISLIS上的点,不在 LISLIS原创 2022-07-15 08:58:11 · 417 阅读 · 0 评论 -
2012-2013 NEERC, Moscow Subregional Contest D题 & 2021 ICPC Shenyang Regional M 题
M. String Problem题意:给一个串,对于每个前缀求字典序最大的后缀。n<=1e6n<=1e6n<=1e6思路:D. Darkwing Duck题意:给一个串,区间询问字典序最大后缀,可以离线。n<=5e5,q<=5e5n<=5e5,q<=5e5n<=5e5,q<=5e5......原创 2022-07-15 08:58:37 · 258 阅读 · 0 评论 -
2022浙江省赛、ICPC昆明区域赛 游·寄
前夜周六打的浙江省赛、周日昆明区域赛,周五平常作息,早上和爸妈聊天 我说道 金华疫情情况还好,还能出校吃饭,没想到 噩耗马上就来了。金华突然有了几例阳性,其中有一位还是滴滴司机。线上教学的消息已发出来,超市就被洗劫一空。好在 机房没有被封,还能继续打省赛,晚上进行完环境配置 就回寝室休息了。省赛当天早上十点睁眼,看到通知 要全员核酸检测,预计是早上八点半检测,但是我们学院的医护人员以及设备 一直没有准备好,十一点二十左右大家才检测好 回机房准备登录 (疲惫++);中午十二点 省赛开始,前几道签到题原创 2022-04-17 20:58:57 · 1682 阅读 · 8 评论 -
2021 ICPC Southeastern Europe Regional Contest E. Replace Sort
E. Replace Sort题意:给你长度为N<=5e5N<=5e5N<=5e5的序列AAA,和大小为5e55e55e5的集合BBB,可以用一次操作 将集合BBB 中的一个元素 覆盖 序列 AAA上一个位置的元素,即 让 A[i]=B[j]A[i]=B[j]A[i]=B[j];问 最小的操作次数,使得 序列AAA变成严格升序。思路:考虑一个很显然的 DPDPDP,dp1[i]dp1[i]dp1[i]表示,最终序列第 iii 位是 A[i]A[i]A[i] 时的最小操作次数;dp原创 2022-03-28 20:34:18 · 888 阅读 · 0 评论 -
19 南京区域赛 F. Paper Grading
F. Paper Grading题意:有2e52e52e5个字符串和2e52e52e5个操作;第一种操作是 交换两个字符串;第二种是 给你 l,r,kl,r,kl,r,k 和一个字符串 sss ,询问 区间 l到rl到rl到r 中有多少个字符串的前 kkk个字符 和 sss的前kkk个字符相同。思路:先将所有字符串建成一颗 trietrietrie树,在字符串的结尾位置打个标记。然后 询问下标 l到rl到rl到r之间有多少个字符串 和 sss的前 kkk 个字符相同,就转换成了 询问 trie原创 2022-03-19 11:54:56 · 1092 阅读 · 2 评论 -
18th 省赛 B. Restore Atlantis
题意:有2000∗20002000*20002000∗2000 的二维平面,给你 100000100000100000 个矩形,有 1e51e51e5个询问,每次询问 给你 l和rl和rl和r ,问去掉这个区间的矩形之后,平面中被矩形覆盖的点数。思路1:用扫描线思想,并且用 优先队列的线段树,处理出 二维平面上 所有点,被覆盖的最左边的矩形 和 最右边的矩形。(听说用set会T,可能优先队列的常熟小吧)因为题目的时限只有1s,考虑离线的算法,用树状数组来维护。将所有的询问离线,并按照 rrr升序排序原创 2022-03-09 22:55:37 · 452 阅读 · 1 评论 -
2021 ICPC Asia Taipei Regional Programming Contest C、F
C、Community Service题意:有一个0到1e60到1e60到1e6的数轴,有2e52e52e5次操作:操作一:增加一条 从l到rl到rl到r的线段,每条线段有名字;操作二:给定一个区间SSS 以及范围 l到rl到rl到r,求和SSS有交集的 最近一个被加入的线段TTT,并将TTT从线段集中删去。思路1:如果没有删除线段的操作,那么这道题就是 线段树区间赋值维护最大值,并且区间求最大值。但是有删除操作之后,线段之间的关系就是相互覆盖,很容易想到 可持久化相关的数据结构。我的想法是原创 2022-03-06 12:37:54 · 2121 阅读 · 4 评论 -
CCPC长春2020 复现报告
签到:A、D铜牌题:F银牌:J、KA - Krypton思路:题目会有一个误区,很容易让人去想贪心(毕竟首充大的,奖励大嘛有一种情况就是,我如果拿了尽可能大的,就没钱去买小的了,但是如果把小的全买了,奖励是更多的。所以就枚举所有情况,二进制枚举,买哪些喽;#include<bits/stdc++.h>using namespace std;#define ll long longint s[]={1,6,28,88,198,328,648};int a[]={8,原创 2021-11-04 13:16:24 · 198 阅读 · 1 评论 -
2021-10-06 组队赛——2019-icpc-Seoul-题解
Problem K Washer题意:给你三维平面上的n<=100n<=100n<=100个点,将他们最多分成k<=2k<=2k<=2类。每一类的价值是,要求使所有类的价值和 最小,输出最小值。任意三点不共线,任意四点不共面。思路一:这个价值函数类似于方差,就是要让分出的类,尽可能地聚合。考虑用K-means算法。1)考虑先随机k个聚合点,2) 然后每次把其他点,归属到距离最近的聚合点3) 把每个聚合点调整到 属于他的那个点集最靠近质心的点重复 第原创 2021-10-09 22:19:41 · 173 阅读 · 0 评论 -
二分图King
L:Fat题意:思路:二分图匹配。tips:对于这种垃圾题目,贪心不行,dp不能的题目。就想想图论吧,网络流从不会让你wa,最多只会T。#include<bits/stdc++.h>#define rep(i,n,m) for(int i=n;i<=m;i++)typedef long long ll;using namespace std;struct node{ ll x,y,v;}maxn[40005];node minn[40005];node b原创 2021-10-07 21:31:30 · 88 阅读 · 2 评论 -
Codeforces Round #744 (Div. 3) 解题报告
文章目录A. Casimir's String SolitaireB. Shifting SortC. TicksD - Productive MeetingA. Casimir’s String Solitaire题意:对于一个字符串,有两种操作:1、选择字符串中的一对‘A’和‘B’,删除他们;2、选择字符串中的一对‘B’和‘C’,删除他们;问能否通过一系列操作把字符串变成空串。思路:计三种字符的个数,只要’B’的个数是’A’和‘C’的个数和即可。代码:#include<bits原创 2021-09-29 22:02:36 · 301 阅读 · 1 评论 -
2021-09-11 训练场补题
C - Family View题意:给你nnn个模式串,模式串中只有小写字母,模式串长度之和len<=1e6len<=1e6len<=1e6,然后给你一个匹配串len<=1e6len<=1e6len<=1e6,匹配串由全字符集组成。要求将匹配串中的所有和模式串匹配的子段替换成 ‘*’ ;思路:优化AC自动机;普通的AC自动机在匹配的时候会暴力跳fail指针;也有建fail 树来统计每个匹配串在文本串中出现的次数的优化。但是这道题我们只用在匹配的地方加个标记,记录长原创 2021-09-16 16:36:59 · 164 阅读 · 2 评论 -
bzoj3188 Upit
题意:思路:类似于线段树维护标记。区间赋值,优先级最高,直接对和进行维护。区间加等差数列就可以把标记设为 :首项和公差,这样区间加等差数列的标记就能合并了。再套平衡树就好了。ops:第一道比赛中做的平衡树的题。因为当时状态比较拉跨,并且区间加等差数列的标记和之前一个线段树加等差数列的平方 的标记搞混了,觉得不能做。知道标记的维护方式,那他就成了裸裸的模板题了。在这里插入代码片#include<bits/stdc++.h>using namespace std;#define原创 2021-08-27 03:08:18 · 148 阅读 · 0 评论 -
BZOJ3189 : [Coci2011] Slika
Slika题意:首先,题目有一个外衣,就是操作有版本的概念,他会进行存档和读档操作,但是我们知道,我们把操作建成一个树,他读档就是回到一个祖先,而对最终形态有影响的只有当前点到根的叠加操作。那么我们就建一棵树,维护一个fa数组,最后不断跳祖先就知道了有效操作及顺序。做法一:#include<bits/stdc++.h>using namespace std;#define ll long long#define rep(i,n,m) for(int i=n;i<=m;i原创 2021-08-25 21:42:53 · 117 阅读 · 0 评论 -
Codeforces Round #740 Div. 2 解题报告
A. Simply Strange Sort模拟题意:给你一个长度为nnn (nnn<=1000 且 nnn是奇数) 的排列;有一种操作,定义第iii次操作:如果iii是奇数,对所有奇数位置pospospos(pospospos<n),如果 第pospospos位大于第pospospos+1位,那么交换。如果iii是偶数,对所有偶数位置进行上面那个操作;求在第几次操作之后,整个序列有序。思路:因为给的nnn很小,对于一个数,他回到原本的位置,最多需要nnn次操作,那么nnn个数原创 2021-08-25 02:20:51 · 340 阅读 · 2 评论