摘要: #include <bits/stdc++.h> using namespace std; int num[12],len; long long l,r,dp[11][11][11][2][2][2][2]; long long f(int p,int a,int b,bool c,bool d,b 阅读全文
posted @ 2024-09-19 20:00 yzc_is_SadBee 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 新鲜出炉的数位dp #include<bits/stdc++.h> using namespace std; long long a,b; long long ten[20],f[20]; long long cnta[20],cntb[20]; void solve(long long x,lon 阅读全文
posted @ 2024-09-19 19:29 yzc_is_SadBee 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 以下内容摘自OI-Wiki 引子 数位dp是指把一个数字按照个、十、百、千等等一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制。 数位 DP:用来解决一类特定问题,这种问题比较好辨认,一般具有这几个特征: 要求统计满足一定条件的数的数量(即, 阅读全文
posted @ 2024-09-19 18:57 yzc_is_SadBee 阅读(16) 评论(0) 推荐(0) 编辑
摘要: d_f_s 附赠双倍经验,好耶! 然后爆搜就行 #include<bits/stdc++.h> using namespace std; int T,n,ans,sum[25]; void dfs(int x)//x为出牌次数 { if (x>=ans) return; //顺子 int k=0;/ 阅读全文
posted @ 2024-09-18 20:22 yzc_is_SadBee 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 摘自: 一看题目,像个搜索 再一看,像个广度优先搜索 既然是BFS,那我们首先要搞出一个(一堆)队列 那问题是队列里咱们存啥呢??? 首先,按照广搜解决“迷宫问题”的国际惯例,肯定要先把坐标和步数存到里面! 可是,这似乎不大够? 因为荆轲还有两种技能:隐身和瞬移。 隐身:balabala…… 瞬移: 阅读全文
posted @ 2024-09-18 19:58 yzc_is_SadBee 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 不如搜索 折半搜索 第一眼2^40,死的透透滴 所以想到折半 如图: 这是普通搜索: 这是折半搜索: 原谅我图画的丑 所以,我们可以对两边开展搜索 将前一半的搜索状态存入a数组,后一半存入b数组。 排序后mlogm查找即可 #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2024-09-18 19:31 yzc_is_SadBee 阅读(3) 评论(0) 推荐(0) 编辑
摘要: good rmq #include<bits/stdc++.h> using namespace std; struct node { int num; int lid,rid; int w; int data; bool operator <(node i)const { return data< 阅读全文
posted @ 2024-09-18 19:07 yzc_is_SadBee 阅读(6) 评论(0) 推荐(0) 编辑
摘要: see you again #include<bits/stdc++.h> using namespace std; int n,m,x,y,v,Lok[500010],Rok[500010],Lban[500010],Rban[500010],pre[500010],ans[500010]; bo 阅读全文
posted @ 2024-09-13 20:31 yzc_is_SadBee 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题解 总之,赞美太阳 #include <bits/stdc++.h> using namespace std; inline int read(){ char c;int f=1,res=0; while(c=getchar(),!isdigit(c))if(c=='-')f*=-1; while 阅读全文
posted @ 2024-09-13 20:14 yzc_is_SadBee 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题解其1 最终看着写的题解 #include <bits/stdc++.h> using namespace std; inline void read(long long&x){ char c11=getchar();x=0;while(!isdigit(c11))c11=getchar(); w 阅读全文
posted @ 2024-09-13 19:43 yzc_is_SadBee 阅读(3) 评论(0) 推荐(0) 编辑