star_cat
star_cat
全部文章
题解
归档
标签
去牛客网
登录
/
注册
star_cat的博客
全部文章
/ 题解
(共6篇)
题解 | #莫反做法#
这种问题直接上莫比乌斯反演即可,不怎么费大脑直接统计 设函数i,a_j i,a_j 显然我们的答案就是 由莫比乌斯反演得: 显然很好求,代码如下 #include <bits/stdc++.h> #define x first #define y second #define pb...
2024-04-25
0
186
题解
这场被打爆了,写一下F的题解吧 大家好像都用的状压或者背包去做的,我贡献一个比较简单的做法。 表示当前i状态最少需要多少个数位与形成。 不难发现,重复的点对于答案的贡献为0,我们可以排序去重后线性dp一遍就行(这么做的话值域范围完全可以放到1000,这个题的值域范围比较小,也可以不去重排序直接做...
动态规划
2024-03-18
12
358
拓扑序列 + dfs + 读题
这个题感觉很坑,光题面上就有一个地方没说明白; 先建图判一下拓扑序列,合法的话就对每个点进行爆搜。搜下大于它的点的个数和小于它的点的个数,都小于(n + 1) / 2就输出1, 否则输出0; 坑点1:dfs搜的时候必须判断这个点有没有在本次搜过,否则会tle 坑点2:注意审题 using name...
C++
2022-04-22
0
368
树状数组(求区间内不同的数的个数)
这个性质我本来是想用线段树写的,但是忽略了每次只是访问该点往前的区间,所以没能写出来 本质上还是一个动态维护前缀和的问题 tr[i], 表示在当前位置上有不同的点 每次我们求当前位置到某一位置的不同的点的数量,只需要保证往前看的序列中重复的点只保留最后一个即可 例题:2019山东省赛 : BaoBa...
C++
2022-04-22
0
459
nim游戏 && nim集合游戏的混合博弈论问题
原题 题意: 对于一张n * m的图纸,两人可以进行横向裁剪或者纵向裁剪的操作,最先裁剪出1 * 1的一方失败。问当前图纸的状态为先手必胜还是先手必败。 1.显然只要裁处1 * 2, 2 * 1, 3 * 1, 1 * 3, 四种情况其中的任意一种情况时,处理本次情况一方必败,所以说先定义这四种情...
2022-04-15
1
462
牛客小白月赛45
A 分类:思维题 这个题就是一个鸟题 判断两种情况,一种就是x >= n, 表示能直接飞到悬崖对侧,直接x * n即可; 另一种就是飞不过去,直接输出x.(当时做这个题的时候脑子瓦克了,竟然输出0,简直不要太爽) using namespace std; int main() { ...
C++
2022-03-05
1
444