- 博客(24)
- 收藏
- 关注
原创 UVa 11806
#include#include#include#includeusing namespace std;const int inf=1000007;const int maxn=510;int t;int m,n,k;int v[maxn][maxn];int main(){ memset(v,0,sizeof(v)); v[0][0]=1; f
2016-07-30 22:48:42 174
原创 UVa 11401
#include#include#include#includeusing namespace std;int n;long long f[1000010];int main(){ f[3]=0; for(long long x=4;x<=1000000;x++) f[x]=f[x-1]+((x-1)*(x-2)/2-(x-1)/2)/2;
2016-07-29 15:57:22 140
转载 UVa 242 DAG
#include#include#includeusing namespace std;const int maxn=50;int s,n,t;int a[maxn][maxn];int dp[1500][maxn];int stamp(int set,int c,int n){ if(dp[c][n]!=-1) return dp[c][n];
2016-07-28 22:17:03 191
转载 UVa 1630 太难了惭愧啊。
#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;const int maxn=200;int n;string a;int d[maxn][maxn];string b[maxn][maxn];//折叠后的串的样子int judge(int l,int r){
2016-07-27 22:06:56 292
原创 UVa 1629
#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;const int maxn=500;struct name{ int x,y;}cherry[maxn];int n,m,k;int dp[25][25][25][25];//u,d,l,r代表的上下左右的界限,记住是线,就是边
2016-07-27 17:23:16 256
原创 UVa 10118DFS记忆化搜素
#include#include#includeusing namespace std;const int maxn=45;const int mm=5;int n;int a[maxn][5];int dp[maxn][maxn][maxn][maxn];int top[5];bool judge[25];int dfs(int count){ if(dp[top
2016-07-27 15:46:06 214
原创 UVa 10285 BFS的做法
#include#include#include#include#includeusing namespace std;const int maxn=300;int t,r,c;char a[maxn];int vis[maxn][maxn],m[maxn][maxn];//step代表当前结点能到达的最长的长度值//step用作存储记忆化的功能,所以不需要再每次跑循环的时
2016-07-27 10:39:18 202
原创 UVa 10285
#include#include#include#include#includeusing namespace std;const int maxn=300;int t,r,c;char a[maxn];int vis[maxn][maxn],m[maxn][maxn],step[maxn][maxn];//step代表当前结点能到达的最长的长度值//step用作存储记忆化
2016-07-27 10:10:25 207
转载 UVa 1252该类的子集的二进制表示方法还需要学习
#include#include#includeusing namespace std;const int maxn=150;const int maxs=11;const int INF=0x3f3f3f3f;int d[1<<maxs][1<<maxs];int cnt[1<<maxs][1<<maxs];int p[maxn],n,m;char t[maxs+3];
2016-07-26 17:08:03 158
转载 UVa 10817 不会子集的二进制表示法
#include#include#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;const int maxn=125;const int maxs=8;int s,n,m,c[maxn],st[maxn],d[maxn][1<<maxs][1<<maxs];int
2016-07-26 15:06:05 157
原创 UVa 1218
#include#include#include#include#include#includeusing namespace std;const int maxn=100000;int n;vector sons[maxn];int a,b,c;int d[maxn][3];int vis[maxn];int dp(int u){ vis[u]=1;
2016-07-26 09:51:09 309
原创 UVa 1220
#include#include#include#include#include#include#includeusing namespace std;const int maxn=5000;int n;int d[maxn][2],f[maxn][2];//这种简单的二维机构,设计0代表当前u的结点不选入,而1代表当前的u的结点选入vector sons[maxn];
2016-07-25 16:17:22 363
原创 UVa 12186
#include#include#include#includeusing namespace std;const int maxn=1000000;int n,t;int b[maxn];vector sons[maxn];int dp(int u){ if(sons[u].empty()) return 1; int k=sons[u].size();
2016-07-24 12:52:30 324
原创 UVa 1331
#include#include#include#includeusing namespace std;const double INF=0x3f3f3f3f;const int maxn=1000;const double esp=1e-6;int n,m;struct point{ double x;double y;}d[maxn];double dp[
2016-07-23 21:00:10 244
原创 UVa 1626
#include#include#includeusing namespace std;const int maxn=10000;int n;char a[maxn];int dp[maxn][maxn],s[maxn];int match(char a,char b){ if((a=='('&&b==')')||(a=='['&&b==']')) return 1;
2016-07-23 10:46:20 235
原创 UVa 10003
#include#include#includeusing namespace std;const int maxn=1050;const int INF=0x3f3f3f3f;int l,n;int a[maxn];int d[maxn][maxn];int main(){ while(scanf("%d",&l)!=EOF) { if(
2016-07-23 00:41:16 277
原创 UVa 1625
#include#include#includeusing namespace std;const int maxn=5050;const int INF=0x3f3f3f3f;int t,n,m;char a[maxn],b[maxn];int dp[maxn][maxn];int s1[27],e1[27],s2[27],e2[27];int main(){
2016-07-22 22:07:05 158
原创 UVa 11584
#include#include#includeusing namespace std;const int maxn=1005;int n;char a[maxn];int dp[maxn];int judge(int x,int y){ for(int i=x,j=y;i<=j;i++,j--) { if(a[i]!=a[j]) return 0;
2016-07-22 12:59:43 152
原创 UVa 11400
#include#include#includeusing namespace std;const int maxn=10000;const int INF=0x3f3f3f3f;struct nm{ int v,k,c,l;}lsd[maxn];int n;bool cmp(nm x,nm y){ return x.v<y.v;}int s[m
2016-07-22 11:51:18 181
原创 UVa 116
#include#include#includeusing namespace std;const int maxn=10000;const int INF=0X3f3f3f3f;int m,n;int a[maxn][maxn],d[maxn][maxn];int nexts[maxn][maxn];int main(){ while(scanf("%d%d"
2016-07-22 00:01:41 228
原创 UVa 12563
#include#include#includeusing namespace std;const int maxn=10000;int n,t,time;int a[55],dp[55][maxn],len[55][maxn];int main(){ int kase=1; scanf("%d",&t); while(t--) {
2016-07-21 22:58:21 231
原创 有感自己的的一个数字电路没学好,总结经验
刚在昨天考了电子技术实验,最后的那个题让我感觉到了自己的数电学的不够扎实啊。题意是产生1001101的脉冲发生器,然后芯片自选,我考虑的是利用74LS161芯片,然后做出一个周期为7的循环即可,然后这里就来了问题了,其实考虑这种输出的问题的时候,根本不需要考虑从什么时候开始作为起点进行作为1001101的第一个1的,随便在真值表里的任何一个一个开始即可,然后7个周期结束结束即可,然后第一个和第
2016-07-11 09:17:00 867
原创 UVa 1347
#include#include#include#includeusing namespace std;const double INF=0x3f3f3f3f3f3f3f3f;const int maxn=10000;double lens;int n;double dp[maxn][maxn];struct nm{ int x,y;}a[maxn];do
2016-07-10 21:45:06 286
原创 UVa 437
/*#include#include#includeusing namespace std;const int maxn=200;int n,m,x,y,z;int dp[maxn];//表示当以第i个木块为底层的时候的最高高度为多少?struct nm{ int x,y,z; void f(int a,int b,int c) {
2016-07-06 00:22:02 153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人