摘要:
<!DOCTYPE HTML PUBLIC "-//W3C??DTD HTML 4.0 Transitional//EN><html><head><title>注册</title></head><body><form id="form" action="reg.php" method="post">用户名:<input id="username" name="username" typ 阅读全文
摘要:
/*我实在不敢说这是一道简单题,搞数位DP都搞了差不多2周了,居然还没搞完,好吧,这道题是数位DP里比较简单的题。思路:题意要求在[x,y]中,含有刚好k个b进制不同整数次幂的数有多少个,假如k=2,ai为不同的整数次幂,符合条件的数必须是C=b^a1+b^a2,也就是说,对于C的b进制数所有的位必须为0,或者是1(注意严格要求k个,不允许有重复的degree)*/#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define LL long longint f[3 阅读全文
摘要:
#include<iostream>#include<algorithm>using namespace std;#define LL long longLL f[12][10],dp[12],digit[13];//f[i][j]表示第i位为j,且长度为i的windy数的个数//d[i]表示长度为i的windy数的个数LL cal(LL n){ if(n<10) return n-1; int len=0,i,j; LL ans=0; while(n) { digit[++len]=n%10; n/=10; } for(i... 阅读全文
摘要:
/*区间求不含有62和4的数量,我的第一道数位DP*/#include<stdio.h>#include<iostream>#include<cstring>using namespace std;int dp[20][3];int cal(int key){ int digit[20],len=0,ans=0; memset(digit,0,sizeof(digit)); int ok=key; while(ok) { digit[++len]=ok%10; ok/=10; } bool flag=false; fo... 阅读全文
摘要:
/*题目意思:相信大家都知道搜狗拼音的词语联想功能。这题的大致意思就是根据你的字典里的词出现的频率,把词语联想的功能模拟一遍。每多一个按键,你只需输出第一联想到的东西,如果没有,就输出MANULLY。一个按键对应一个字母,但是一个按键有3或者4个选择的字母。注意:在你查询过程中,是不会额外增加单词的。这题真的花了我不少时间~T T,过去用的字典树模板实在是通用性太差劲了。终于给我百度到一个挺好的模板。字典树的最大复杂度为Q(n),n代表字符串的长度。我真心没有想到这题可以用字典树+深搜做~,思路也是百度来的。经过抄袭了N个大神的模板和学习后,整理如下:AC状态:0ms 660KB*/#incl 阅读全文
摘要:
/*看到这题的限时和空间~,马上不用纠结了,暴搜+剪枝必过要是哪个大神能告诉我更好的剪枝步骤,我会很感激的。因为我的代码简直是蜗牛速度~456ms 4900KB水过*/#include <iostream>#include<cstdio>#include<cstring>#include<queue>#include<set>#include<memory.h>#include<algorithm>using namespace std;#define inf 0x3ffffff#define M 1005in 阅读全文
摘要:
双向广搜如果想要得到最优路径,就得在扩展节点处判断是否有重合,而不是在元素出队时。一般来说双向广搜比单向的更耗空间。 阅读全文
摘要:
/*RESCUE*/#include <iostream>#include<cstdio>#include<cstring>#include<queue>#include<set>#include<memory.h>#include<algorithm>using namespace std;#define maxn 220char start[6],end[6];bool vis[10005];struct re{ int str[4]; int num; re(const char *a) { num=0; 阅读全文
摘要:
/*T T坑爹的八数码*/#include<iostream>#include<queue>#include<utility>#include<set>#include<cstdio>using namespace std;#define maxn 300char dir1[4]= {'u','d','l','r'};char dir2[4]= {'d','u','r','l'};char rr[maxn]; 阅读全文
摘要:
/*POJ1240Pre-Post-erous*/#include <iostream>#include <cstring>#include<cstdio>using namespace std;char pre[30],post[30];int num;int C(int n, int k) //计算组合数C(n, k){ int i, sum= 1; if (k>(n>>2)) k = n - k; for (i = 1; i <= k; ++i) sum=sum*(n - i + 1) / i; return... 阅读全文