上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 32 下一页
摘要: 题意:给定的三个由'0','1','2','3','?'构成的字符串A,B,C。其中'?'表示该位可能是0,1,2,3,现在如果有三个四进制的数依次是这三个字符串,若有A+B=C,则称[A,B,C]是这三个字符串的一组解,现在给定A,B,C,求解的个数。题解 1:搜索:一开始觉的就是用搜索的办法枚举 a和b的所有情况然后和c比较;这个想法是对的,但怎么实现呢,一开是以为将 a,b分别放到两个数组里 分别搜索,但是 怎么搜啊,两个数组后来想到 ,将a和b 存到一个数组里面,前六位存a 从第七为开始 存 阅读全文
posted @ 2012-07-24 16:44 Szz 阅读(221) 评论(0) 推荐(0)
摘要: 求1~N当中约数个数最多的数”问题的优化2010-04-13 20:56【问题描述】求1~N当中约数个数最多的数,若有多解则输出最小的数。【输入格式】输入文件只有一行。这一行有一个数N(1≤N<10^17)。【输出格式】输出文件只有一行。这一行有一个数,即所求的数。【输入样例】2000【输出样例】1680题目分析:(1)此题最容易想到的是穷举,但是肯定超时。(2)我们可以知道,计算约数的个数和质因数分解有着很大的联系:若Q的质因数分解为:Q=p1^k1*p2^k2*…*pm^km(p1…pm为素数,k1…km≥1),则Q有(k1+1)(k2+1)…(km+1)个约数。但是质因数分解的时间 阅读全文
posted @ 2012-07-24 10:33 Szz 阅读(2774) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4308 题解: 最短路,将p看成一个点 dij()硬是tle 我就奇怪了 最多就5000*5000啊,;最后该的SPFA()1A 。。。。。。。#include<stdio.h>#include<string.h>#include<iostream>#include<vector>using namespace std;#define maxn 5001#define inf 999999#define CL(V,num) memset(V,num,sizeof 阅读全文
posted @ 2012-07-23 08:48 Szz 阅读(287) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1691/* 题解: 将每个矩形看成一个点,点A在点B的上方 则b的入度加1,进行拓扑构图 标记 ,每次搜索时搜入读为零的点 构图时少考虑的一种情况 wa 汗。。。。。。。*/#include<stdio.h>#include<string.h>#define max 999999#define maxn 2000struct node{ int xl,yl,xr,yr; int c;}p[maxn];int map[20][20],in[20],n,ans,vis[20];void build(){ int ... 阅读全文
posted @ 2012-07-21 19:17 Szz 阅读(261) 评论(0) 推荐(0)
摘要: 这道题问的就是将1个串如何变为stringA+stringB的形式,使得stringA是stringB经过映射得到相同的串。映射那步其实没有什么 价值,假设str为原串s经过映射后得到的串,我们可以以str为模式串,以s为原串做一次扩展KMP,得到extend数组,extend[i]表示原 串以第i开始与模式串的前缀的最长匹配。经过O(n)的枚举,我们可以得到,若extend[i]+i=len且i>=extend[i]时,表示 stringB即为该点之前的串,stringA即为该点之前的str串,最后输出即可。#include<stdio.h>#include<stri 阅读全文
posted @ 2012-07-21 09:32 Szz 阅读(537) 评论(0) 推荐(0)
摘要: 题意: 在一条路上 假设小Q一开始在0点,给出道路的长度l和输入的次数k输入有两种形式:1:0 x 表示在x出掉一块蛋糕 2:1 表示要吃蛋糕 ,每一次要吃时,都找距离最近的有蛋糕的点,若左右距离相等,则按前一次的方向,若左右都没有,则在原地不动 #include<stdio.h>#include<iostream>#include<string.h>#include<set>using namespace std;set<int>s;int num[100010];int main(){ int t,l,n,a,b,r,ans,p; 阅读全文
posted @ 2012-07-20 14:14 Szz 阅读(464) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3373详解见:http://blog.csdn.net/lyy289065406/article/details/6698787 /*这道题想了半天越想月觉的麻烦,后来实在是写不出来就,参考了一下别人烦人代码,在这加了数组f[a][b]=c;a 表示位置,b表示余数,c表示剩余的次数,含义是 在a这个位置,余数为b的情况下无论是往较大的数改变,还是娇小的数,在改变此时《=c情况下,找不到满足要求的数*/#include<stdio.h>#include<string.h>int mod[110][10],test[1 阅读全文
posted @ 2012-07-19 09:28 Szz 阅读(267) 评论(0) 推荐(0)
摘要: 题意:给出n物品,每个物品有两个参数,价值v,数目m 求,将这些物品分成两份,这两份的价值差值最小。母函数求解,注意初始化的不同#include<stdio.h>#include<string.h>int v[55],num[55];int a[300000],b[200000];int main(){ int n,i,j,k; while(scanf("%d",&n)!=EOF) { if(n<0)break; int sum=0; for(i=1;i<=n;i++) { scanf("%d%d"... 阅读全文
posted @ 2012-07-18 11:10 Szz 阅读(190) 评论(0) 推荐(0)
摘要: 转自 Tanky Woo母函数(Generating function)详解前段时间写了一篇《背包之01背包、完全背包、多重背包详解》,看到支持的人很多,我不是大牛,只是一个和大家一样学习的人,写这些文章的目的只是为了一是希望让大家学的轻松,二是让自己复习起来更方便。(PS:大家觉得我的文章还过... 阅读全文
posted @ 2012-07-18 10:04 Szz 阅读(654) 评论(2) 推荐(0)
摘要: 鸽巢定理的简单形式 鸽巢原理(抽屉原理):如果有n+1个鸽子要进n个鸽巢,则至少存在一个鸽巢种包含两个或更多的鸽子。看上去是一句“废话”,不过这句”废话“在用来证明一个排列或则某种现象的存在性上相当有魅力!关于鸽巢原理更抽象的表述:• If X has more elements than Y, then f is not one-to-one.• If X and Y have the same number of elements and f is onto, then f is one-to-one.• If X and Y have the same number of elemen. 阅读全文
posted @ 2012-07-17 17:16 Szz 阅读(1315) 评论(0) 推荐(0)
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 32 下一页