少女SKIKO
少女SKIKO
全部文章
分类
归档
标签
去牛客网
登录
/
注册
少女SKIKO的博客
全部文章
(共6篇)
题解 | #小红勇闯地下城#
#include <queue> #include<vector> #include<string> #include<algorithm> #define int long long #define endl "\n" #de...
2026-05-18
0
27
题解 | #法法#
容易想到,结果只和底为奇数的项有关,而均对其mod 2 的话,结果只与(n/2)(n-1)!的值mod 2有关 由数论得任意的nn-1一定是2的倍数,所以当n>=3时结果为0,其余为1. #include #include #include #include #define int long ...
2026-05-05
0
23
题解 | 小红树上染色
dfs+线性dp从1开始做dfs,初始化dp[i][0],dp[i][1]为1dp[i][0]表示i节点,不染色的方案数观察得到dp方程如下:dp[i][1] =dp[i][1]*((dp[j][1]%mod+dp[j][0]%mod)%mod)%mod; dp[i][0] = (dp...
2026-04-21
0
49
题解 | 小美的01串翻转
第一眼此题可能是一个经典的区间dp,即dp[l][r][1],dp[l][r][0],l,r代表区间,i代表位于r上的位置是否变换,dp的值代表这段区间的权值和状态转移如下:for(int i=l+1;i<=r;i++){if(s[i]!=s[i-1]){dp[l][i][0]=dp[l][i...
2026-04-14
0
53
题解 | 元素方碑
最简单的一集,注意到i永远无法和i+1,i-1发生互动,分别处理偶位和奇位的数字和,判断是否和整体均值相等即可 #include<iostream> #include<vector> using namespace std; #define vt ve...
2026-04-13
0
48
题解 | 冥古之潮
在x处bfs一遍,随后用cnt[5005]存入拥有i距离的点个数。期间维护max_point(距离x的最远距离)剪枝。预处理二维01背包节省时间状态方程如下:i表示选择的距离,j表示当前已经选择的方案数dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*cnt[i] #include ...
2026-04-02
1
53