上一页 1 2 3 4 5 6 7 ··· 17 下一页

K好数 dp

摘要: 题目地址:某桥oj题干:问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模后的值。样例输入4 2样例输出7数据规模与约定对于30%的数据,KL<= 106;对于50%的数据,K <= 16, L <= 10;对于100%的数据,1 <= K,L 阅读全文
posted @ 2014-03-19 17:23 814jingqi的ACM 阅读(141) 评论(0) 推荐(0) 编辑

hdu 2544 【总结】 Dijkstra,Bellman-Ford ,SPFA 最短路求法及对应优化

摘要: 题目地址:hdu2544就是直接求最短路 数据很弱 什么方法都可以1 floyd#includeusing namespace std;#define INF 10000009int d[105][105];int n,m;void init(){ for(int i=0;i>n>>m) { if(n==0&&m==0) break; init(); int u,v,w; for(int i=0;i>u>>v>>w; d[u-1][v-1]=w; d[v-1][u... 阅读全文
posted @ 2014-03-19 04:10 814jingqi的ACM 阅读(125) 评论(0) 推荐(0) 编辑

hrbust 1632 最大的最小公倍数

摘要: 题目地址:戳这里额,构造尽可能互素的连续整数:代码:#includetypedef long long inta;using namespace std;inta max(inta x,inta y){ return x>y?x:y;}int main(){ inta n; while(cin>>n) { if(n==1) coutans) ans=y; if(z>ans) ans=z; cout<<ans<<endl; } } }}额 很... 阅读全文
posted @ 2014-03-18 02:02 814jingqi的ACM 阅读(147) 评论(0) 推荐(0) 编辑

Bellman-Ford,使用队列优化的Bellman-Ford

摘要: 题目地址: 某桥杯oj题干:问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于10%的数据,n = 2,m = 2。对于30%的数据,n #include#include#include#includeusing namespace std;#define INF 1 阅读全文
posted @ 2014-03-18 01:33 814jingqi的ACM 阅读(184) 评论(0) 推荐(0) 编辑

关于最短路径的探讨与证明

摘要: 额 文章持续更新中 信息有来自转载Bellman-Ford 最短路方法的证明: 来自百度百科描述性证明首先指出,图的任意一条最短路径既不能包含负权回路,也不会包含正权回路,因此它最多包含|v|-1条边。其次,从源点s可达的所有顶点如果 存在最短路径,则这些最短路径构成一个以s为根的最短路径树。Bellman-Ford算法的迭代松弛操作,实际上就是按顶点距离s的层次,逐层生成这棵最短路径树的过程。在对每条边进行第1遍松弛的时候,生成了从s出发,层次至多为1的那些树枝。也就是说,找到了与s至多有1条边相联的那些顶点的最短路径;对每条边进行第2遍松弛的时候,生成了第2层次的树枝,就是说找到了经过2条 阅读全文
posted @ 2014-03-17 22:47 814jingqi的ACM 阅读(464) 评论(0) 推荐(0) 编辑

安慰奶牛 最小生成树

摘要: 题目来源...渣渣oj你懂的题干:问题描述Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。第j条双向道路连接了牧场Sj和Ej(1 #includeusing namespace std;int p[100005];int c[10005];struct edge{ int u; int v; int w; bool operator>n>>p; ... 阅读全文
posted @ 2014-03-17 17:14 814jingqi的ACM 阅读(142) 评论(0) 推荐(0) 编辑

codeforces#236_div2_C Searching for Graph

摘要: 题目地址:cf#236_div2_C题目意思:给你n,p要你构造一个有2n+p条边的图,使得,每一个含k个结点子图中,最多有2*k+p条边。额,比赛的时候根据样例yy的代码:#include#includeusing namespace std;struct node{ int a; int b; };vector v;int main(){ int cas; cin>>cas; int n,p; while(cas--) { v.clear(); cin>>n>>p; ... 阅读全文
posted @ 2014-03-17 03:00 814jingqi的ACM 阅读(95) 评论(0) 推荐(0) 编辑

codeforces#236_div2_B Trees in a Row

摘要: 题目地址:cf#236_div2_B直接枚举,应该用哪一个高度作为最终序列中不变的那个量。统计每个数有多少是不用改变高度的。wa了很多次,,因为没有考虑到树的高度必须为正数。代码:#includetypedef long long inta;using namespace std;inta p[10000];inta cnt[10000];int main(){ inta n,k; cin>>n>>k; for(inta i=0;i>p[i]; for(inta i=0;imaxi&&p[i]>k*i) { max... 阅读全文
posted @ 2014-03-17 02:29 814jingqi的ACM 阅读(122) 评论(0) 推荐(0) 编辑

codeforces#236_div2_A nuts 贪心

摘要: 题目地址:cf#236_div2_A题目大意:给你四个数k,a,b,v; k代表每个隔间最多不能超过的数目 ,a是果子个数,b是有多少隔板数量,v是一个隔板最多能装多少现在问你,要把所有nuts放进去,最少需要多少boxes简单的贪心,我们用这些隔板去装配boxes,看b能分成多少个k-1 份,每一个box就是k*v这么大的容量。然后多余的b%(k-1) 个给最后一个box其余的box都是v然后b慢慢减代码:#include#includeusing namespace std;vector size;int main(){ int k,a,b,v; cin>>k>>a 阅读全文
posted @ 2014-03-17 02:21 814jingqi的ACM 阅读(143) 评论(0) 推荐(0) 编辑

codeforces#235_div2_D Roman and Numbers ,dp

摘要: 题目地址:cf#235_div2_D题目大意:给你一个整数(相当于给你一个集合) 现在问你,这些整数的全排列(不能有前导零)当中,有多少被m整除先直接暴力 18的阶乘 显然是会超时的。可以过到第12组数据#include#includeusing namespace std;long long n,m;int pp[18];int digit;bool divided(){ long long ans=0; for(int i=0;i>n>>m; long long nn=n; int index=0; int p[18]; whi... 阅读全文
posted @ 2014-03-16 23:47 814jingqi的ACM 阅读(179) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 17 下一页