摘要: 这题最开始数据比较水,后来加强了,我没过hack数据,我的代码最主要的问题是有一些点会从前面无法经过的点更新,所以就需要初始化f为最小值 #include<iostream> #include<cstring> using namespace std; #define int long long c 阅读全文
posted @ 2025-02-15 20:44 郭轩均 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 崩溃了,debug半天发现是变量名重复了 #include<iostream> #include<cstring> #define int long long using namespace std; const int N=1e5; int q[N]; int f[N]; int w[N]; in 阅读全文
posted @ 2025-02-15 18:12 郭轩均 阅读(3) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2024.cnblogs.com/blog/3599636/202502/3599636-20250215165220271-949058549.png) ![](https://img2024.cnblogs.com/blog/3599636/202502/3599636-20250215165224696-1477296427.png) 阅读全文
posted @ 2025-02-15 16:52 郭轩均 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 位运算符好麻烦,没打括号被卡了半天 #include<iostream> #define int long long using namespace std; int f[12][100][1<<11]; int s[1<<11]; int num[1<<11]; signed main(){ in 阅读全文
posted @ 2025-02-15 15:36 郭轩均 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 由于我的cnt是从一开始的,我还debug了一会 由于数据是一行一行的输入,我们不能像蒙德里安的梦想那样,按列判断 if((s[a]&g[i])s[a]&&(!(s[a]&s[b])))f[i][a]=(f[i][a]+f[i-1][b])%p; 如果(s[a]&g[i])s[a]说明s[a]在g[ 阅读全文
posted @ 2025-02-15 14:40 郭轩均 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1.首先就是每列状态的表示,如果该列有横着的方块就用1,表示否则就用零,一共n行最多有n个一就是2^n-1最少0个一就是0,所以0<=i<n;j表示i位移的个数,i最多n位所以最多位移n-1位来检验i每一位,如果是1就检验cnt来检验是否有连续奇数个0,最后还要再检验一次来检验高位零 #includ 阅读全文
posted @ 2025-02-15 13:12 郭轩均 阅读(2) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示