2024-517集训总总结
2024-517集训总总结还好。
关于题目的那些事算法方面十天集训,只有两道 $\tt DP$ 还压在最后一天。。。。。。真的是短板了现在。。。
其他的算法都还好,正解都能想出来,AK两次其他基本都是榜前3
码力方面代码打完还能有一至半小时空闲划水,这个问题真的不大。
难度方面个人认为偏简单,难题都压在二期了。还有就是。。。这出题人尼玛包完原神的,题题原,纯若至
关于平时的饭菜很难评。。。中午饭吃的有点山寨。。。晚饭还好。
关于我们住的宿舍还好,没想象中的那么差,没想象中的那么好。
关于一些玄学设备空调很凉快,插线板也没有以前那种不够用的情况。桌子有点小,其他还好。
关于大佬我周围的都是大佬,就我最菜,菜飞了,天天他们AK了我才AK,,,,,rzrzrzrz
周泽共
【拾题杂谈】Emiya家的饭
题面Emiya 是个擅长做菜的高中生,他共掌握 $n$ 种烹饪方法,且会使用 $m$ 种主要食材做菜。为了方便叙述,我们对烹饪方法从 $1 \sim n$ 编号,对主要食材从 $1 \sim m$ 编号。
Emiya 做的每道菜都将使用恰好一种烹饪方法与恰好一种主要食材。更具体地,Emiya 会做 $a_{i,j}$ 道不同的使用烹饪方法 $i$ 和主要食材 $j$ 的菜($1 \leq i \leq n$、$1 \leq j \leq m$),这也意味着 Emiya 总共会做 $\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{m} a_{i,j}$ 道不同的菜。
Emiya 今天要准备一桌饭招待 Yazid 和 Rin 这对好朋友,然而三个人对菜的搭配有不同的要求,更具体地,对于一种包含 $k$ 道菜的搭配方案而言:
Emiya 不会让大家饿肚子,所以将做至少一道菜,即 $k \geq 1$
Rin 希望品尝不同烹饪方法做出的菜,因此她要求每道菜的烹饪方法互不相同
Yazid 不希望品尝太多同一食材做出的菜,因此他要求每种主要食材至多在一半的菜(即 ...
【2024 - 517集训四期】Day8 集训总结
比赛总结发挥基本正常,T3 超级无敌尼玛比大失误
T1 总结赛时总结简单题,纯模拟即可
题目思路模拟
题目代码无
T2 总结赛时总结一眼题。小学生题目,模拟
题目思路模拟
题目代码无
T3 总结赛时总结赛时思路基本正确,结果为了计算正确的转弯次数多此一举,WA + TLE 0 分。
题目思路记忆化搜索
题目代码无
T4 总结赛时总结知道是前缀和,但是摆烂
题目思路从 $k = 2$ 的情况扩展出来,变成了简单的小学题
题目代码无
CSP - S 2022 题解T3 星战(Galaxy)题意给出一张有 $n$ 个点,$m$ 条边的无向图。有如下几种操作。
摧毁一条边
修复一条边
摧毁一个点以及其所有的边
修复一个点以及它所有的边
思路和哈希或异或哈希。处理每一个点的入度,与满图状态比较。
代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787 ...
【2024 - 517集训四期】Day7 集训总结
比赛总结正常发挥 + 题目过水,AK虐全场。
由于题目过水,赛时题目总结略。
CSP-S 2022 SolutionT1 - 假期计划(Holiday)形式化题意给出一个有 $n$ 个节点的无向图。求从 $1$ 号点出发,在路上选择经过的四个不同的景点,最后回到 $1$ 号点后,选择的四个节点权值之和。选择的点之间距离最多的长度不可以超过 $k$ 。
思路直接 BFS 得到两个点是否可达,和距离前 3 的节点。最后合并答案即可。(这个蓝题评的名不副实,一下子就想出来了)
代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212 ...
【2024 - 517集训四期】Day6 集训总结
比赛总结发挥基本正常,T3 超级无敌尼玛比大失误
T1 总结赛时总结简单题,纯模拟即可
题目思路模拟
题目代码无
T2 总结赛时总结一眼题。小学生题目,贪心
题目思路贪心
题目代码无
T3 总结赛时总结赛时一眼顶针,结果某一行代码莫名奇妙不见了,导致 RE 还差了半天没查出来
400 -> 325 ,R1 -> R5
题目思路思路打开,模拟即可
题目代码无
T4 总结赛时总结一眼顶针二分,场切
题目思路二分,带点小学奥数(鸡兔同笼)。
题目代码无
CSP - S 2023 题解T4 种树按照前天的思路成功AC。附上这个首A的代码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 ...
【2024 - 517集训四期】Day5 集训总结
比赛总结发挥基本正常,T3 小失误。
T1 总结赛时总结简单题,纯模拟即可
题目思路模拟
题目代码无
T2 总结赛时总结一眼题。线段树模板
题目思路线段树模板
题目代码无
T3 总结赛时总结找规律都不需要的找规律题。一眼就看出 1e18 内的数的数量特别少,打表 & 递归即可(517测评机吃了我的正解导致 T3 “未提交” 直接掉大分 )
题目思路打表 & 递归
题目代码无
T4 总结赛时总结无思路。骗分 15pts
题目思路由于题目保证有解,所以直接贪心匹配,贪心涂色。(赛时竟然没有人想到如此简单的题目)
题目代码无
【2024 - 517集训四期】Day4 集训总结
比赛总结发挥基本正常,T3 小失误。
T1 总结赛时总结简单题,基本上是模拟即可
题目思路数学,模拟,推公式
题目代码无
T2 总结赛时总结一眼题。典中典。
题目思路记录起始元素,用处理环的方式处理
题目代码无
T3 总结赛时总结一开始思路正确,因为旁边的 wangletao dalao 过了压力极大,发现写出来的代码样例没过直接删了打暴力,并且因为紧张过度理解错题意暴力也挂了
题目思路分类讨论。有意义的区间分为:$[1,l], [l, r], [r,n]$ 。
处理最小和最大值即可
题目代码无
T4 总结赛时总结极限乱贪AC
题目思路正贪一遍处理酒店 i 和市场 i 的最大值,在反贪一遍处理答案
题目代码无
2023 CSP - S 题解T1 密码锁场切没话说
T2 字符串思路不难发现,O(n ^ 2) 做法就是枚举起点 i 模拟,栈每空一次统计一次。由这个不难想到,记录每一个栈的状态,没重复一次记录,对于出现 $n$ 次的情况会有 $\cfrac{n(n-1)}{2}$ 的贡献。
代码无
T3 结构体思路纯模拟。没有任何技术含量
代码纪念一下最长的模拟代码
1237 行
T4 种 ...
CF9E - How many trees?
题意问 $n$ 个点组成的二叉树高度大于 $h$ 的有多少个。
题解设状态为 $dp[n][h]$ 表示 $n$ 个点深度不超过 $h$ 的二叉树数量,那么答案即为 $dp[n][h]-dp[n][h-1]$。
考虑转移:
dp[n][h]=\sum_{i=1}^ndp[i][h-1]\times dp[n-i-1][h-1]让后我们设置初始状态为:$dp[i][0]=0, dp[0][i]=1$ 。
转移的含义很显然,就是左边所有 $h-1$ 的方案和右边所有 $h-1$ 相匹配然后多了父亲所以深度加一。
代码123456789101112131415#include<cstdio>long long f[37][37];int main() { int n,h; scanf("%d%d",&n,&h); for(int i=0;i<=n;++i) //初始化 f[0][i]=1; for(int i=1;i<=n;++i) //枚举高度 for(int j=1;j<=n;++j) //枚举节点 ...
CF23E - Tree
题意给定一棵树,删除若干条边,求连通块大小之积的最大值是什么
题解实际上这题有两种做法。一个是贪心,一个是动规,但是我只会DP做法。
设状态为 $dp[u][j]$ 表示与 $u$ 相连的连通块大小为 $j$ 的答案(这里的连通块大小是包裹 $u$ 本身的)。
然后整个子树的答案我们存在 $dp[u][0]$ 里,因为我们发现这个状态实际上是没有实际含义的。
接下来考虑转移,我们枚举一个合并好的前缀,然后往两边分配大小。另外这里合并两个答案的大小统计要留到最后,这是为了防止状态的混淆。
细节看代码。
另外有一个超级大坑,就是转移的顺序,一定要从大的往小的转移,因为要防止数据被覆盖qwq。
代码12345678910111213141516171819void Dfs(int u, int fa) { sz[u] = 1; dp[u][1] = 1; for(int i = G.head(u); i; i = G.nt(i)) { int v = G.to(i); if(v == fa) continue; Dfs ...
【2024 - 517集训四期】Day2 集训总结
T1 总结赛时总结若至题。一眼顶针
题目思路数学,模拟,推公式
题目代码无
T2 总结赛时总结一眼题。典中典。
题目思路打表发现,第一项和第二项的系数是斐波那契数列。预处理出后计算即可
题目代码无
T3 总结赛时总结没有难度
题目思路贪,最小是优先未感染,最大是优先感染
题目代码无
T4 总结赛时总结思路正确,实现失误 :100 -> 55最后一刻,重新提交: 55 -> 5
R2 -> R5 nerd
题目思路把出生死亡和查询看作事件,按照时间排序。出生优先级大于查询大于死亡。余下模拟。
题目代码无