上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 63 下一页
摘要: ```//f[i,j,f1,f2]//f1 和 f2 都是01数//1表示剩下的人是喜欢的//从j开始,长度为2^i个人,胜者组为f1,败者组为f2#include#include#include#includeusing namespace std;const int maxn = ((1>n>>k; for(int i=0; i>x; fans[x-1]=1; } //枚举i for(int... 阅读全文
posted @ 2020-03-16 08:34 晴屿 阅读(159) 评论(0) 推荐(0) 编辑
摘要: ``` //贪心 //从初始值最小开始 //如果当前值有许多,那么就把花费最大的留下,其他的都加一个 //然后依次网上增加 #include #include #include using namespace std; typedef long long ll; const int INF=0x3f3f3f3f; priority_queueh; const int N=2e5+10; int n 阅读全文
posted @ 2020-03-16 08:24 晴屿 阅读(220) 评论(0) 推荐(0) 编辑
摘要: ``` #include #include #include using namespace std; typedef long long ll; const int MOD=2520; ll gcd(ll a,ll b) { return b==0?a:gcd(b,a%b); } ll lcm(ll a,ll b) { return a*b/gcd(a,b); } ll dp[30][MOD][ 阅读全文
posted @ 2020-03-15 22:40 晴屿 阅读(88) 评论(0) 推荐(0) 编辑
摘要: ```#include#include#include#include #define mem(a,b) memset(a,b,sizeof(a))#define inf 0x3f3f3f3ftypedef long long LL;const LL mod=1e9+7;const int M=13;using namespace std;const int N =1e5+100;LL dp[21... 阅读全文
posted @ 2020-03-15 21:57 晴屿 阅读(135) 评论(0) 推荐(0) 编辑
摘要: ```//dp[i][j][0]表示i位数模13为j当前没有包含13并且最高位不为1的方案数;//dp[i][j][1]表示i位数模13为j当前没有包含13并且最高位为1的方案数;//dp[i][j][2]表示i位数模13为j当前包含13的方案数。#include#include#include#define N 15using namespace std;int bit[N],dp[N][N][... 阅读全文
posted @ 2020-03-15 21:28 晴屿 阅读(72) 评论(0) 推荐(0) 编辑
摘要: ``` #include #include #include using namespace std; long long dp[30][30][3000]; int num[30]; long long dfs(int pos,int center,int sum,bool flag) { //如果遍历到最后以为了 if(pos==0) //判断和是否位0 return sum==0; if(s 阅读全文
posted @ 2020-03-15 20:55 晴屿 阅读(96) 评论(0) 推荐(0) 编辑
摘要: ``` #include #include #include #include using namespace std; const int N=70; int a[N]; //设f(pos,det)f(pos,det)表示处理到pos位,当前detdet是多少的答案。 //detdet是这个二进制数0的数量减去1的数量 //当然需要注意的是,11的数量可能大于00的数量导致detdet为负,所以 阅读全文
posted @ 2020-03-15 16:23 晴屿 阅读(80) 评论(0) 推荐(0) 编辑
摘要: ``` #include #include #include #include using namespace std; typedef long long ll; const int N = 35; ll n; ll f[N][30]; void init() { //处理一位的数字 for (int i = 0; i nums; while (n) nums.push_back(n % 10) 阅读全文
posted @ 2020-03-15 14:45 晴屿 阅读(83) 评论(0) 推荐(0) 编辑
摘要: ``` //f[i,j]一共有i位数字,且最高位是j,而且不包括4和64的数的个数 //f[i-1,k] 表示次高位为k //如果合法,那么需要满足 j、k都不为4 jk不是62 #include #include #include #include using namespace std; const int N = 35; int f[N][10]; void init() { //处理一位的 阅读全文
posted @ 2020-03-15 14:21 晴屿 阅读(93) 评论(0) 推荐(0) 编辑
摘要: ``` //一开始要思考:到底是增好还是减好 //然后用dp,忽略这个问题 //首先要明确的是,最终序列中的数字一定都是原序列中的数字 #include #include #include using namespace std; const int N=2000+20; int a[N]; int b[N]; int dp[N][N]; //dp[i,j],表示考虑前i个数变成单调,且最后一个数 阅读全文
posted @ 2020-03-14 11:33 晴屿 阅读(78) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 63 下一页