随笔 - 18  文章 - 0  评论 - 2  阅读 - 411
07 2023 档案
Mock 3: CEOI2021 Day1 P3
摘要:让我简化一下题目吧: 有两个玩家, A和B。A并不知道B的位置,但是B知道A的位置然后可以做相应的动作。 让B在任何结点, 做一个路径保证A肯定会抓到B或表示抓不到B。路径必须最短. 每个回合B必须要往一个相邻的结点移动,不能停在原地。 我是先考虑链的情况: 非常明显的是肯定可以抓到。 那么路径怎么 阅读全文
posted @ 2023-07-24 15:14 yl_neo 阅读(25) 评论(0) 推荐(0) 编辑
modulo template
摘要:#include<bits/stdc++.h> using namespace std; using i64 = long long; template<class T> constexpr T power(T a, i64 b) { T res = 1; for (; b; b /= 2, a * 阅读全文
posted @ 2023-07-21 17:19 yl_neo 阅读(49) 评论(0) 推荐(0) 编辑
legowall
摘要:毒瘤问题 (雾 首先我们可以先考虑一行的话有多少种方案,,这是一个经典问题答案就是斐波那契数列 f[i]=f[i-1]+f[i-2],那么如果我们考虑 H 高怎么样?因为有 H 的高度,故还要进行 H次幂。 让dp[i] 表示处理到第 i 列有多少个方案 那么转移方式就是 dp[i]=fib[i]- 阅读全文
posted @ 2023-07-16 21:52 yl_neo 阅读(12) 评论(0) 推荐(0) 编辑
村子(最大化)
摘要:肯定是越远越好哦~ 那么若我们考虑一个边(edge),最多能有多少个经过? 让边的两端为a,b。最大贡献肯定是2*min(sz[a],sz[b]),sz表示子树的大小。 那怎么拿到最大贡献值呢?中心点啊啊啊!!!!!!。 若我们把中心点放为root, 那么我们可以保证最大值哦(๐॔˃̶ᗜ˂̶๐॓)。 阅读全文
posted @ 2023-07-10 17:30 yl_neo 阅读(14) 评论(0) 推荐(0) 编辑
村子(最小化)
摘要:解题:贪心 很明显越靠近越好。随便从一个点出发,按照翻的排列方式来选择和父亲链接还是和兄弟链接。记得每次加2哦~~~~ 具体代码: #include<bits/stdc++.h> using namespace std; #define int long long const int N = 1e5 阅读全文
posted @ 2023-07-10 17:18 yl_neo 阅读(19) 评论(0) 推荐(0) 编辑
消失的兔子~~~
摘要:做法 想法:看数值都知道是二分 把答案分成两个部分:左和右(把c=5e8-1)。 问1的时候若回答是1: 代表他在[1,5e8]里 要不然就是[5e8+1,1e9] 若在左:二分右边。右边相似 找最后(若兔子是在右边),最早(若在左边)的点的值是1. 再加或减掉c就可以啦~~~~ 具体代码: 1 # 阅读全文
posted @ 2023-07-10 17:10 yl_neo 阅读(75) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示