摘要: A. 数字组合. 在 $N$个数中找出其和为 $M$ 的若干个数,把满足条件的数字组合都找出来以统计组合的个数,输出组合的个数 类似0/1背包,恰好装满背包的方案数 #include <bits/stdc++.h> #define per(i,a,b) for(int i(a);i<=b;++i) 阅读全文
posted @ 2023-02-03 20:59 f2021yjm 阅读(15) 评论(0) 推荐(0) 编辑
摘要: int read() { register int x = 0,f = 1;register char ch; ch = getchar(); while(ch > '9' || ch < '0'){if(ch == '-') f = -f;ch = getchar();} while(ch <= 阅读全文
posted @ 2023-01-29 20:14 f2021yjm 阅读(14) 评论(0) 推荐(0) 编辑
摘要: void sol(int x,int f)//预处理 { fa[x][0]=f; dep[x]=dep[f]+1; per(i,1,16) fa[x][i]=fa[fa[x][i-1]][i-1]; for(int i=hd[x];i;i=nx[i]) if(to[i]!=f) sol(to[i], 阅读全文
posted @ 2023-01-16 13:01 f2021yjm 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 将一个序列折叠,求折叠后的序列的最短长度 AAAAAAAAA ABABAB CCD -> 9(A)3(AB)CCD 区间dp,两种情况:1. $ l \rightarrow r $ 由 $l \rightarrow k$ 和 $k+1 \rightarrow r$ 两段合并 ​ 2.由 $l \ri 阅读全文
posted @ 2023-01-12 17:56 f2021yjm 阅读(18) 评论(0) 推荐(0) 编辑
摘要: A.照相排列 AcWing271 $1≤k≤5$,学生总人数不超过 30 人。 每排人数最多30,最多5排(数据范围较小,可以考虑多维枚举) 5维dp,5层循环枚举所有转移状态,对每一层能转移的进行累加转移 初值:$f[0][0][0][0][0]=1$ 答案即为排满时的方案数 #include < 阅读全文
posted @ 2023-01-02 16:58 f2021yjm 阅读(24) 评论(0) 推荐(0) 编辑
摘要: POI专项A,B题解 A T1: Flat Broken Lines 来源:POI1998 BZOJ2924 问题: 对于100%的数据,$n,x,y\leq 3e4$。 分析: 由于x,y较小,不用离散化 考虑将坐标系逆时针旋转45度,($x,y$)变成($x\cosθ-y\sinθ,x\sinθ 阅读全文
posted @ 2022-11-07 21:32 f2021yjm 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 博弈论 前置芝士 N状态(必胜状态) P状态(必败状态) 所有的终止都为必败(P) 状态 任意 **N ** 状态,存在至少一条路径可以转移到 P 状态 任意P状态只能转移到 N 状态 1.取石子游戏B 一共 $n$ 颗石子,游戏双方轮流取石子; 每人每次取走若干颗石子(最少取 1 颗,最多取 m 阅读全文
posted @ 2022-11-02 20:33 f2021yjm 阅读(61) 评论(0) 推荐(0) 编辑
摘要: NOIP2022 模拟测试 | 题目名称 | 友好字符串 | 军事比拼 | 魔法篮球 | 概率变化 | | : : | : : | : : | : : | : : | | 可执行文件名 | friendly.cpp | fight.cpp | basketball.cpp | change.cpp 阅读全文
posted @ 2022-10-14 16:10 f2021yjm 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Noip yjm 题解 T1 分治 因为题目描述分为前半段和后半段,且长度满足$n=2^k$,所以不难想到分治。 然后分别判断是否满足三个条件之一,分别统计如果把当前串前半段变为全是ch,或后半段全变为ch所需代价,递归到下一层进行统计 int sol(int ch,int l,int r) { i 阅读全文
posted @ 2022-10-14 16:10 f2021yjm 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题目描述 n个长度不一的小木棍,这些木棍的长度都是正整数。 现规定一个长度k,让你闭着眼睛从n个中随便拿出两个,如果两个木棍的长度总和小于等于k,则你就胜利。 求你胜出的概率。 输入 输入包含两行。 第一行为两个整数n和k 第二行包含n个整数,分别为n个木棍的长度。 输出 输出包含一个实数,小明胜出 阅读全文
posted @ 2022-09-27 17:13 f2021yjm 阅读(61) 评论(0) 推荐(0) 编辑