摘要:
``` #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][ 阅读全文
摘要:
```#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... 阅读全文
摘要:
```//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][... 阅读全文
摘要:
``` #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 阅读全文
摘要:
``` #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为负,所以 阅读全文
摘要:
``` #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) 阅读全文
摘要:
``` //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() { //处理一位的 阅读全文