首页 > TAG信息列表 > 集训

9月集训总结

慢场:\(NOIP\)模拟,时长\(4.5h\),题数\(4\) 快场:\(IOI\)赛制,时长\(2h\),题数\(2\) 9.2 慢场模拟1 这一场是用的\(19\)年以前的题 赛制\(NOI\)赛制,时长\(4h\),题数\(3\) 表现: 能拿到的分处于全部拿到的状态,但是\(T2\)掉了\(30\) 赛后考虑卡常数用分块过了, 但是属于不可预知因素,不算在挂

CSP集训题解

CSP集训题解 Summer已经完结了于是新开一个,而且旧的已经很卡了 9.9CSP-S短赛2(开小灶2) T1 元素周期表 看来是一种套路,将每个点对应的x,y坐标连边,在一个联通块内的就是可达的,那么答案就是联通块数减一 点击查看代码 #include <bits/stdc++.h> typedef long long ll;typedef unsi

2022暑假集训新学知识点总结

新学知识点 图论 树 1、树链剖分(求lca,dfs序等) 2、倍增lca 流 1、Dinic 最大流 2、匈牙利 二分图最大匹配 其他 1、spfa最短路判负环 字符串 1、后缀自动机SAM 2、回文自动机PAM 3、manacher(处理回文) 数学 1、线性基(求异或和最大值) 2、卷积ntt(其实不是很会)

暑假集训8

暑假集训要结束了,快乐的时光总是短暂的,下面是丧心病狂的焚化课时间(人已经焚化了) 最后一场考试又来了一次模拟退役,,体验感极差 暑假结束了, 但是我还是这么菜。。。。。 A. T1 出了个大阴间题 考场一眼装压, 打了个一维的轻松过样例, 然后对拍, 一拍就假 然后发现子问题不优,但是全局可能

暑假集训七[One,砖块,数字,甜圈]

暑假集训七 您总算更新当天的东西了啊。 题面 A.One 典型的约瑟夫问题,\(t<10,n \leq 1e7\)数据范围需要我们用线性算法。 考虑每次去掉一个人后都重新编号,把编号改为 \([0, n)\) 计算,最后剩下的那个数当前的编号一定为 \(0\)。 倒推,考虑一个个复活,草,所以可以推出来上一轮当前点 \(x

暑期集训7

130 rank 39 T1:T2:暴力模拟T3 T4:【甜圈】线段树(hash区间加乘或者直接维护区间信息) T4:给你n个盒子,初始为空,支持t个操作,每次(l,r,xi),表示在[l,r]区间编号的盒子有序放上xi编号物品。求最终满足盒子里的物品恰好是k个而且编号从小到大1--k的盒子数量。 [1]赛时自己打了个线段树,WA

集训3/4总结

这几次考试题难度和在家集训五天的难度差不多,但是考试状态好了很多,故成绩还看得过去。 感觉基本集训几天第一次学的算法都没太学懂,还需要自己去复习。上新课的速度没我想的那么快,但也不是很慢。 至于杜教筛和exgcd是我在\((n+1)\)次复习后终于自认为弄懂的。AC自动机和KMP感觉现在

集训总结

集训总结 收获 学习了一些从未接触的数据结构:线段树, 树状数组, 单调栈, 单调队列可以实现一些基本操作,但与灵活运用还有一定距离,也无法与其他算法相结合使用 提升了图论的掌握水平,学习到了一些技巧,例如在涉及到图的变化时我们可以多建一部分图来存储变化的部分例,还学习了 lca

暑假集训6

前两题只会打暴力,本来以为又要垫底了,结果还可以? A. 接力比赛 确实是背包,排序后每次跑上界为\(\sum w_i\),然后刚刚好卡过?? 随机数据跑的还是挺快的 code #include<cstring> #include<cstdio> #include<algorithm> #include<vector> #include<queue> #include<iostream> #include<s

暑假集训六 [接力比赛,树上竞技,虚构推理,记忆碎片]

暑假集训六 别问为什么从六开始。 题面 A.接力比赛 两个01背包跑一遍。 别问代码为啥写的这么阴间。 Code #include<cstdio> #include<algorithm> using namespace std; const int MAXN = 1010, MAXV = 1e6 + 10; const long long INF = 1e18 + 1145141919810; int n, m; long

暑假集训三[数列,数对,最小距离, 真相]

暑假集训3 数列 好在这个题是单点操作,所以我们保证每一个点的\(opt\)最小就行 所以相当于去求一个 \(\large ax + by\equiv wmx[i] (mod\ \ gcd(a, b))\) 并且保证\(\large abs(x) + abs(y)\)最小(\(x, y\)可以为负),所以,很显然的扩欧 (然鹅扩欧不会写就没救了,可以看看青蛙的约

暑假集训四[打地鼠, 竞赛图, 糖果, 树]

暑假集训4 打地鼠 这个题是个人也会吧?二维前缀和暴力碾压硬扫就行了,就是注意好边界,别爆就行 here #include <bits/stdc++.h> #define LL long long #define Re register int #define LD long double #define mes(x, y) memset(x, y, sizeof(x)) #define cpt(x, y) memcpy(x, y,

暑假集训五[星际旅行, 砍树, 超级树, 求和]

暑假集训5 星际旅行 这个题刚看我觉得很ex,没事思路,就跳了,然后就去欺负\(T4\)了后来别的不会做,然后回来肝它...就肝出来了...对了,注意开\(long long\) 首先转化一下题意,我们建无向边不是一下建两条吗,那么如果想让一条无向边只被走一次,那么我们相当于删除掉它两条边的一条,那题意就

2022高考集训1

别问为什么6.6的考试今天才来写总结 成绩 反正就是很拉跨 T1 模拟题,按照题意模拟 \(IP\) 地址即可。 题目已经保证了只有四个被分割的自然数,就没必要去想哪些数可以合并,哪些数需要拆开了。 注意: 遇到非法字符直接删除。 数字大于 \(255\) 的改为 \(255\)。 数字中不能有前导零。

2022高考集训2

这场是难度最大的一场,并且带捆绑测试,坐了四个半小时连暴力分都拿不到 成绩 拉大胯了 T1 交通 题解思路太NB了,代码实现倒是不难。 假设一个点的两条出边为 \(i,j\) ,我们新建一个图给 \(i,j\) 连边。如果一个点的两条入边为 \(i,j\) ,我们也给 \(i,j\) 连边。 把题解翻译成人话,就是:

暑期集训4

rank 29 mark 150 题纲:T1:赛时全员AC,其他的应该不用说什么了 T2:图论,竞赛图统计强连通分量(位运算的应用) T3:计数类DP T4:线段树维护dfs序-->树剖-->染色 T2:定义竞赛图,任意两点之间都有且只有一条有向边。给你一个竞赛图n个节点,求强连通子图数量。n<=27 状压方法:就像线性筛一样,我在从

[游记]暑假集训4-2022.8.16

今天还行?不过挂了 $85$ 分 A. 打地鼠 场切签到题     #include<cstdio> #include<cstring> #include<string> #include<queue> #define int long long #define WR WinterRain using namespace std; const int WR=3010,INF=1099588621776; int n,k; int dp[WR][WR];

暑假集训3

去年暑假打过一次,但是当时太菜,今天看到之前写过,好奇多少分,考后交了一发,发现自己是真的菜 然后,就算开了个坑吧,四道题。。。 A. 数列 \(exgcd\)板子 然后,\(exgcd\)咋用来着? 滚回去学数论基础了 code #include <cstdio> using namespace std; #define int long long int min(int x,

[游记]暑假集训3-2022.8.15

Rank2,终于没有$\cdots\cdots$不,挂分少了 A. 数列 显然一眼先扩欧 发现如果 $n$ 个数中有一个不能被 $\gcd(a,b)$ 整除就无解 那么对于每个 $x_i$ 我们要解 $ap+bq=x_i$ 中 $p+q$ 的最小值 扩欧即可求解     #include<cstdio> #include<cstring> #include<string> #define int

暑假集训2

题面 A.LCIS 一道裸的求LCIS(最长公共上升子序列)题. \(dp\)数组储存到\(b\)的第\(i\)项,\(a\)从\(1-n\)的且以\(b[i]\)结尾的最⻓公共上升⼦序列⻓度. 那么\(dp\)过程显然: if(a[i]>b[j]&&maxx<f[j]) maxx=f[j];更新可以⽤于更新\(b\)序列与\(a\)序列前\(i\)位的最⻓⻓度的最⼤值.

湖南集训 大新闻 社论

大新闻 有一个在 \([0,n)\) 内等概率随机选择的整数,记其为 \(x\) . 我们需要在 \([0,n)\) 内找到某一个整数 \(y\),使得 \(x\oplus y\) 达到最大值 . 问题在于,有可能对 \(x\) 进行了加密 . 情报显示,没有被加密的概率为 \(p\) . 我们决定采取这样的策略:如果 \(x\) 没有被加密,那么我

某暑假集训F

给出n和k,然后构建长度为n最大数不超过k的非递减数列,要消耗的力量为序列的最大值,那么构建所有的序列需要消耗的总力量是多少 #include<iostream> #include<queue> #include<vector> #include<cstring> #include<cmath> #include<algorithm> #include<stack> #include<unordered_m

八月 NOI 赛前集训

虽然没有参加国赛的资格,但是还是跟着大家一起集训。 第一周(08/01~08/07) 做题情况: 出处 题目 知识点 备注 P3366 最小生成树 boruvka算法 很有用的科技 P1763 埃及分数 迭代加深搜索 搜索的优化和剪枝一定要打好基础 P2634 聪聪可可 点分治 模板题 P4149 Race 点分

P5933 [清华集训2012]串珠子

题意 给定一张 \(n\) 个点的图,其中 \(i\) 和 \(j\) 两点间有 \(c_{i,j}\) 种边可以连。求把这 \(n\) 个点连成连通块的方案数是多少。 Solution 还是考虑拍在脸上的状压。 令 \(f_S\) 表示点集 \(S\) 中的点联通图的个数。如果我们考虑 \(c_{i,j}=1\),那么容易想到这就是考虑有多少

集训乱写

虽然被40个人爆踩,但是博该更还是要更 就随便写一些就好了 馈赠1 Alice 场上没切,但是赛后题解还是看懂了的 最优策略是对于自己更优,其实博弈论应该是分先后手的 Box 这种期望题看似不太可做但是其实还是比较可以的 但是这种东西吧其实是组合数学显然你DP是肯定干不动的所以考虑组合