- 博客(51)
- 问答 (1)
- 收藏
- 关注
原创 CODEVS 3027线段覆盖2
#include<stdio.h>#include<string.h>#include<stdlib.h>#include <algorithm>#include<iostream>using namespace std;int f[1000000]; //f[i]表示前i个的最大价值(第i个一定取)struct node{ int a,b,c;}x[1010];int c
2016-11-18 00:44:32
352
原创 算法-高精度(人工竖式)
高精度加法#include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream>using namespace std;int main(){ //freopen("codevs3116.in","r",stdin); //freopen("codevs3116.out","w",stdout);
2016-11-17 00:45:48
337
原创 算法-扩展欧几里得
以下部分内容摘自百度百科最大公约数与最小公倍数的关系设a,b的最大公约数为gcd,最小公倍数为lcm 这存在这样的关系:a * b=gcd * lcm欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: gcd函数就是用来求(a,b)的最大公约数的。 gcd函数的基本性质:gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a
2016-11-16 17:26:43
238
转载 printf格式指令说明
以下图片摘自百度百科原型extern int printf(const char *format,…);formatFormat 参数是包含三种对象类型的一个字符串: * 无格式字符复制到输出流; * 转换规范,每个规范导致在值参数列表中检索 1 个或更多个项; * 转义序列。 通常意义上format的格式如下: %[flags][width][.prec][F|N|h|l]type
2016-11-16 09:15:44
327
转载 scanf格式指令说明
以下图片摘自百度百科格式说明符长度修饰符空白字符和非空白字符其他问题%f 是输出 float 型变量;%f 是输出 double 型变量;%Lf 是输出 long double 型变量。
2016-11-16 08:42:30
384
原创 算法-中国剩余定理
POJ 1006 生理周期 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 131707 Accepted: 42002Description 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如
2016-11-16 01:47:43
201
转载 算法-字符串匹配之KMP
本文部分内容摘自这里,谢谢这位作者对于KMP介绍的非常易懂 下面这张图片摘自百度百科说人话就是——比如有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含另一个字符串”ABCDABD”。 许多算法可以完成这个任务,KMP算法是最常用的之一。首先对于上面的“比如”,我们首先要针对搜索词”ABCDABD“,算出一张《部分匹配表》。 接下来就很简单了,将字符串
2016-11-15 23:13:31
196
转载 算法-欧拉函数
欧拉函数简介——摘自百度百科 注意以下三个特殊性质 编程实现 利用欧拉函数和它本身不同质因数的关系,用筛法计算出某个范围内所有数的欧拉函数值。
2016-11-15 17:22:24
6664
2
原创 现状
目前我身边有两种人。 1.文化课很牛逼全校前100的。 2.文化课不牛逼,但竞赛拿了一等奖甚至以上的,更有甚者根据2017高考加分政策能加20分的。 (更牛逼的第三类是1,2都达到的) 这TM还怎么玩? 我:文化课徘徊在全班40,全校200开外,目前(20161114)只拿过一个物理省三,一个信息学省二。 跟我抱怨不公?我给你创造辉煌!
2016-11-14 21:25:59
185
原创 CODEVS 1497取余运算
#include<cstdio>int b,p,k;int powermod(int a,int b,int mod){ int ans=1; a=a%mod; while(b>=1){ if(b%2==1) ans=((ans%mod)*(a%mod))%mod; b=b/2; a=((a%mod)
2016-11-13 23:17:54
224
原创 CODEVS 3085相同的后三位
#include<cstdio>int n,m,p,ok; int powermod(int a,int b){ int ans=1; a=a%1000; while(b>=1){ if(b%2==1) ans=((ans%1000)*(a%1000))%1000; b=b/2; a=((a%1000
2016-11-13 22:50:01
232
原创 快速幂
快速幂算法 标准模板 时间复杂度:O(log n) n次幂 int PowerMod(int a, int b, int mod) {//求(a^b)%mod int ans = 1; a = a % mod; while(b>0) { if(b % 2 = = 1)//b是奇数 ans = (ans * a)
2016-11-13 22:47:46
176
转载 二分图——二分图最大匹配
下面的标程从《啊哈!算法》摘录! 我给每句话都加了注释 《啊哈!算法》是一本写非常非常非常好的书!!!强烈推荐!!!#include<cstdio>int e[101][101],match[101],vis[101],n,m;//match int dfs(int cur){ for(int i=1;i<=n;i++){//尝试每个点 if(vis[i]==0&&e[
2016-11-13 08:32:55
294
原创 CODEVS 1230元素查找
解法一:STL set简单应用#include<cstdio>#include<iostream>#include<set>using namespace std;set<int> a;int m,n,x;int main(){ freopen("1230.in","r",stdin); freopen("1230.out","w",stdout); scanf(
2016-11-12 22:47:04
292
原创 CODEVS 1245最小的N个和
#include<stdio.h>#include<iostream>#include<queue>#include<algorithm>using namespace std;struct node{ int sum,bi; friend bool operator < (node aa,node bb){ return aa.sum>bb.sum;
2016-11-11 16:38:34
232
原创 CODEVS 1380没有上司的舞会
#include<stdio.h>#include<iostream>#include<vector>using namespace std;vector<int>sons[6010];int n,happiness[6010],father[6010],son,fa,f[6010][5];int mmax(int a,int b){ return a>b?a:b;}int
2016-11-11 10:50:00
237
转载 二分图——图的割边
下面的标程从《啊哈!算法》摘录! 我给每句话都加了注释 《啊哈!算法》是一本写非常非常非常好的书!!!强烈推荐!!!图的割边和割点类似只需要将球割点的算法修改一个符号就可以了:将low[i]>=num[cur]改为low[i]>num[cur]即可。#include<stdio.h>#include<iostream>using namespace std;int n,m,e[100][10
2016-11-10 10:27:19
266
转载 二分图——图的割点
下面的标程从《啊哈!算法》摘录! 我给每句话都加了注释 《啊哈!算法》是一本写非常非常非常好的书!!!强烈推荐!!!#include<stdio.h>#include<iostream>using namespace std;int n,m,e[100][100],root;int num[100],low[100],flag[100],index;//index为时间戳 int min
2016-11-10 10:15:19
297
原创 CODEVS 1052地鼠游戏
#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <vector>#include <cstring>using namespace std;struct node{ int value,time; friend bool operator < (node a
2016-11-09 23:41:45
461
原创 CODEVS 1063合并果子
#include<cstdio>#include<algorithm>using namespace std;int n,a[10010],sum;int main(){ freopen("1063.in","r",stdin); freopen("1063.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;
2016-11-09 11:13:44
509
翻译 CODEVS 1041Car的旅行路线
声明:源代码从iwtwiioi_2处转载,这是 原文链接 。我在此代码的基础上做进一步的说明解释。#include <iostream>#include <algorithm>#include <cstring>#include <iomanip>#include <cmath>using namespace std;const double oo = 10000000;//城市的飞机
2016-11-08 21:13:52
503
原创 CODEVS 1079回家
#include<stdio.h>#include<iostream>using namespace std;int youniu[55],youdian[55],g[55][55],dis[55],book[55];int mmin,value,v,u,p;char a,b;const int inf = 1000000000;int main(){ freopen("107
2016-11-08 01:02:14
208
原创 CODEVS 1069关押罪犯
#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;struct node { int u,v,value;}a[400000];int cmp(struct node aa,struct node bb){ return aa.value>bb.value;}int n,
2016-11-07 14:59:44
255
原创 CODEVS 1077多源最短路
#include<stdio.h>#include<iostream>using namespace std;int n,g[150][150],q;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&g[i][j]);
2016-11-07 12:48:26
252
原创 CODEVS 1001舒适的路线
#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;struct node{ int u,v,value;}a[50010];#define inf 1<<30int fa[50000],s,t,vmax=0,vmin=inf,n,m,k=0;int cmp(struct node
2016-11-04 14:20:27
357
原创 CODEVS 1231最优布线问题
#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;int n,m,aa,bb,cc,cur=0,p[1000100],k=0;long long ans=0;struct node{ int u,v,value;}a[1000100];int cmp(struct node aa
2016-11-04 01:04:49
651
原创 CODEVS 1078最小生成树
#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;int a,n,u[110000],v[110000],w[110000],r[110000],p[110000],ans;//注意!!!!!数组要开大!!!!!大大大!!!!!int cmp(const int i,const int j){
2016-11-03 23:07:41
337
原创 CODEVS 1073家族
#include<stdio.h>#include<iostream>using namespace std;int n,m,p,fa[5010],x,y,z; int find(int cur){ if(fa[cur]==cur) return cur; return fa[cur]=find(fa[cur]);}int main(){ freopen("107
2016-11-03 19:36:47
234
原创 CODEVS 1081线段树练习2
#include<stdio.h>#include<iostream>using namespace std;int n,f[400010],q,x,y,z;struct tree{ int left,right,value;//每个树节点所表示范围的左l右r和 叶节点的值 或 非叶节点的 flag<加的数> }a[400010];void build(int l,int r,i
2016-11-02 22:09:32
196
原创 CODEVS 1080线段树练习
#include<stdio.h>#include<iostream>using namespace std;int n,m,sum[400001],a[100010],x,y,z;int dfs(int o,int l,int r){//以sum数组构建线段树 int mid=(l+r)/2; if(l==r) return sum[o]=a[l]; else re
2016-11-01 22:31:17
240
原创 CODEVS 1169传纸条
#include<stdio.h>#include<iostream>using namespace std;int m,n,a[55][55],f[55][55][55][55];int maxx(int a,int b){ return a>b?a:b;} int d(int x1,int y1,int x2,int y2){ if(f[x1][y1][x2][y2]
2016-11-01 09:36:41
487
原创 CODEVS 1039数的划分
#include<stdio.h>#include<iostream>using namespace std;int n,k,f[400][7][100];int d(int l,int m,int n){ int sum=0; if(f[l][m][n]>0) return f[l][m][n]; else if(m<=0||n>l) return f[l][m][
2016-10-31 21:56:44
199
原创 CODEVS 1219骑士游历
#include<stdio.h>#include<iostream>using namespace std;int n,m,x1,x2,y1,y2;long long f[55][55];long long d(int i,int j){ long long a=0,b=0,c=0,dd=0; if(f[i][j]>0) return f[i][j]; else
2016-10-30 20:58:39
219
原创 CODEVS 1220数字三角形
#include<stdio.h>#include<iostream>#include<string.h>using namespace std;int n,a[110][110],f[110][110];/*int mmax(int a,int b){ return a>b?a:b;}int d(int i,int j){ if(f[i][j]>=0) return
2016-10-29 22:03:14
244
原创 CODEVS 1017乘积最大
#include<stdio.h>#include<iostream>using namespace std;char aa[50];int a[50],f[50][50][10],k,n;long long chengji(int x,int y){ long long sum=0; for(int i=x;i<=y;i++) sum=sum*10+a[i]; r
2016-10-29 20:48:40
354
原创 CODEVS 1154能量项链
#include<iostream>using namespace std;int n,a[220],f[250][250];int d(int i,int j){ int mmax=0,tt=0; if(f[i][j]>0) return f[i][j]; else if(i==j) return 0; else{ for(int k=i;k<
2016-10-29 17:00:38
250
原创 CODEVS 1010过河卒
#include<iostream>#include<string.h>using namespace std;int n,m,x,y,f[25][25],vis[25][25];int d(int a,int b){ if(f[a][b]>=0) return f[a][b]; else if(a==0&&b==0) return 1;//走到终点总数加一 else
2016-10-29 09:16:40
294
原创 CODEVS 1068乌龟棋
#include<iostream>using namespace std;int mmax(int a,int b){ return a>b?a:b;}int a[400],b[5],n,m,x,f[50][50][50][50];int d(int i,int j,int k,int l){ if(f[i][j][k][l]>0) return f[i][j][k][l
2016-10-28 22:25:56
260
原创 CODEVS 1048石子归并
#include<stdio.h>using namespace std;int n,w[110],f[110][110];int mmin(int a,int b){ return a<b?a:b;}int summ(int a,int b){ int ssum=0; for(int k=a;k<=b;k++) ssum+=w[k]; return ssu
2016-10-28 00:22:42
194
空空如也
CODEVS 1169 传纸条 有两个点过不去 求助大神!!!!
2016-10-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人