0 碎碎念
实数二分,永远的调不出来(。◕∀◕。)
但是这算法还挺有意思的,故写到博客
Continue reading “WQS 二分入门 – Codeforces 739E”「Jump up HIGH!!」
给定一棵树,每个结点两个权值 a,b 。
令一个合法的方案为一个点 u 和一个点集 v,满足以下要求
令一个方案的贡献为 $a_u \cdot |b|$
求最大贡献
Continue reading “Luogu P1552 「APIO2012」派遣”在今年五月的时候突然发现 PKU 和 THU 要举办夏令营的消息先后到来
THU 的报名不需要学生做什么,我就没有在意。
PKU 的报名需要填写不少资料还需要去打印并盖章申请书。人不在鸟市,就让教练帮忙了。
随后前往镇海中学参加训练。
天天都有的考试一直持续到 10 号,虽然 THU 方面似乎抛弃了新疆一直没有给我们教练回话,但是 PKU 还是通过了我的申请。
5.13 镇海中学 -> 宁波火车站 -> 余姚北站 -> 余姚中学
在上午考试的时候向镇海教练询问,发现他们将会于明天早上出发。考虑到由镇海到余姚由 1h + 的车程,但我并没有教练或者家长随行,故选择在 13 日自行前往余姚。
Continue reading “PKUSC 2021 游记”正常来说,一个正常的 Oier 是不会碰这种东西
但是我们综合实践小组的组长不知道为啥对这东西出奇的感兴趣, 我就试着理解一下
因为也仅仅是试着理解,如有理论错误还往各位在评论区斧正
本文的代码实现可以在 https://gitee.com/yingziyu/task 看到
Continue reading “玄学,从入门到炼丹 — 初识遗传算法”我并没有找到比较正式的定义,在这里引用 OI Wiki 里的
启发式算法是基于人类的经验和直观感觉,对一些算法的优化。
例子:并查集的按秩合并
基于「减少节点多的子树的处理次数」的思想为主的算法
我们希望节点多的子树处理次数尽可能少,也就是我们希望重儿子的处理次数尽可能少
注意到许多树上问题的处理过程是可延续的,即当前子树的处理完后可以直接将数据移交到父亲节点继续处理
基于这点,我们可以优先处理重儿子,然后直接继承到父亲节点。这样对于一个节点来说,其重儿子只需要处理一次,其轻儿子需要处理两次。
因为从树上任意一条路径上,关键点(即轻儿子)在 $O(\log(n))$ 范围内,所以这东西的复杂度是 $O(n\log(n))$ 的。
Continue reading “树上启发式合并(dsu on tree)简介”即 Codeforces Round #695 (Div. 2)
许久不打变得更菜了…
给定 $n$ 个板子,每个板子上有一个相同的数字 $x ( 0 \leq x \leq 9 )$
随机选择一个数字 $y(1 \leq y \leq n)$,令板子 $i$ 上的数字变成 $ x + |y – i| \pmod 10$
显然,输出 $98\{987654321\}$ 的前 $n$ 位即可
#include <cstdio>
int main() {
int T;
scanf( "%d", &T );
while( T -- ) {
int n;
scanf( "%d", &n );
if( n == 1 )
printf( "9" );
else {
printf( "98" );
int cur = 9;
for( int i = 3; i <= n; i ++ ) {
printf( "%d", cur );
cur ++;
if( cur >= 10 )
cur = 0;
}
}
printf( "\n" );
}
}
Continue reading “Codeforces Round 1467 题目大意 & 解题报告” 本来把,今年是没有打算写 NOIP 游记的
但是题目实在是太神仙了,所以还是来写写把
传统是周五中午吃香锅,结果拜疫情所赐,现在中午是吃不了香锅了(现在连三楼香锅都没得了<(%>_<%)>)
于是就周三吃了
Rush 到食堂,环视一圈。诶,怎么就我一个高一的来了。
算了,和高三一起恰就行了。
在第 $i$ 天,如果 $\gcd(a,b) = m – i + 1$,那么 $a,b$ 之间会建立一条边
给定 $a,b$,求 $a,b$ 最早什么时候连通
多组询问,离线
$1 \leq n ,q \leq 10^5, 1 \leq m \leq n, 1 \leq a, b \leq n$
$n,m,q,a,b \in \mathbb{Z}$
给定 $2^n$ 个整数,从 $1$ 到 $2^n$ 编号
给定 $p_{i,j}(1\leq i \leq n, 1 \leq j \leq n)$
定义一次操作为
选中 $2k$ 和 $2k+1$ ( $0 \leq k, k \in Z, 2k+1 \leq n$ )
其中有 $p_{2k,2k+1}$ 的概率选中 $2k$
其中有 $p_{2k+1,2k}$ 的概率选中 $2k+1$
把所有选择的数字组成一个新的数列,大小为 $\frac{n}{2}$
显然最后会只剩 $1$ 个数字
问剩哪个数字的概率最大
给定 $m$ 和一个长度为 $n$ 数列 $a$
一种方案为从 $a$ 中选择 $k (0 \leq k \leq n)$ 个数字出来(在一个方案中,每一位只能选择一次)
一种合法的方案为选择的所有数字加起来不超过 $m$
$n \leq 40$