自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC~

坚持日A一题,水题也可以QAQ

  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 (DFS)(全排列)(不用库函数)POJ 1256 Anagram

查看原题题意生成所给数串的全排列,按AaBb顺序思路代码#include #include #include using namespace std;int len,v1[15];//记录数串的第i个位置是否被访问过char result[15];//存储结果struct trans{ int transednum;//转换后的数字

2018-01-06 11:05:23 242

原创 (01背包问题动态规划)模板

参考教材《算法分析与设计及案例教程》代码#include using namespace std;void Knapsack(int v[100],int w[101],int c,int n,int m[101][101]){ int jMax=min(w[n]-1,c); //处理只有一个物品的情况,即第n个物品 for(int j=0;j//第n个物品

2017-06-18 21:35:49 593

原创 UVa 11150 Cola

题意三个空瓶换一个新瓶,也可以向别人借空瓶去换新瓶,只要能还得上思路换瓶可以理解成有两个空瓶的时候可以再换一瓶 理解了这个之后就可以不断去余求值了代码#include <iostream>using namespace std;int main(int argc, char *argv[]){ int n; while(cin>>n){ int ans=n;

2017-06-13 12:30:56 464

原创 ZOJ 1365 Mileage Bank

查看原题题意水思路代码#include <iostream>using namespace std;int temp[1000];double earn(int miles,char code){ double result=0; if(miles<=500){ switch (code){ case 'Y':result=500;bre

2017-06-13 09:55:58 461

原创 POJ 2664 Prerequisites?

查看原题题意思路水代码#include <iostream>using namespace std;int isLegal(int choosedClasses[],int choosedlength,int needChoose[],int needLength,int needleast){ int legalChoosed=0; for(int i=0;i<needLeng

2017-06-13 09:16:46 245

原创 ZOJ 1284 Perfection

查看原题题意如果一个数的所有真约数等于它本身,即完全数 如果大于它本身,则abundant 否则deficient 注意输入输出,要求对齐思路代码#include <iostream>#include <math.h>#include <stdio.h>using namespace std;int temp[1000];int isPerfect(int n){ int s

2017-06-13 09:11:04 298

原创 (贪心算法)HDU 2037 今年暑假不AC

查看原题题意思路活动安排问题。 先把活动按结束时间从早到晚排序,将第一个活动设为j开始走,如果后面的活动i有开始时间比j结束时间还要迟的,则活动i也可以展开,最后答案+1。 同时将活动i设为j,继续往后走,寻找新的符合要求的活动i。 循环直到最后一个活动。代码#include <iostream>#include <algorithm>using namespace std;struct

2017-05-30 12:56:44 285

原创 HDU 5533 Dancing Stars on Me

查看原题题意给出几个点,问是否能组成一个正多边形思路如果有n个点,则先求出每两个点之间的距离,把这些距离排序,看第一条和第n条距离是否相等,相等则正多边形代码#include <iostream>#include <algorithm>using namespace std;struct dot{ int x,y;}dots[101];int askSideLength(struc

2017-05-29 21:23:22 307

原创 HDU 1037 Keep on Truckin'

查看原题题意输入三个数,输出小于168的,没有则输出no crash思路今天写的题都太水了,害羞五秒钟代码#include <iostream>using namespace std;int main(int argc, char *argv[]){ int n[4]; while(cin>>n[1]>>n[2]>>n[3]){ int flag=0;

2017-04-26 16:29:26 205

原创 HDU 1031 Design T-Shirt

查看原题题意输入nmk,n个人分别对m样东西进行打分,从中选出k样得分最高的,再对这k样东西的序号从大到小输出思路代码#include <iostream>#include <algorithm>#include <string.h>using namespace std;struct n{ int id;float score=0;}num[300];bool cmp(stru

2017-04-26 15:00:59 207

原创 HDU 1034 Candy Sharing Game

查看原题题意一排人围坐,每个人先接收左边分来的,再把自己原先的那一份分一半给右边的。最终手上如果是奇数,老师就给一个变成偶数,问要几轮下来每个人手里的都相等,问相等是多少思路直接做代码#include <iostream>using namespace std;int n;struct peo{ int before,now;}people[1000];int isequal(){

2017-04-26 13:03:05 205

原创 (最小生成树)ZOJ 1406 Jungle Roads

查看原题题意最小生成树 第一行输入有n个村庄,接下去n-1行分别输入村庄名,与其相邻的村庄数,相邻村庄名,两村庄之间的距离思路Prim代码#include <iostream>using namespace std;int main(int argc, char *argv[]){ int n,vnum,map[30][30],low[30],cost; char v1,v2

2017-04-23 21:58:27 239

原创 (待更新理解)(数值过大素数计数模版)HDU 5901 Count primes

题意思路代码#include<iostream>using namespace std;long long int f[340000],g[340000],n;void init(){ long long int i,j,m; for(m=1;m*m<=n;++m){ f[m]=n/m-1; } for(i=1;i<=m;++i){

2017-04-22 22:21:53 234

原创 ZOJ 1068 P,MTHBGWB

查看原题题意摩斯电码表已知,给出一串字符,隐含了它转换的摩斯电码和切割长度顺序。问同一行摩斯电码按倒置后的切割长度顺序进行切割,能得到什么字符串。思路数组代码#include <iostream>#include <stdio.h>#include <string.h>#include <string>using namespace std;int main(){ int n;ci

2017-04-20 07:06:12 267

原创 ZOJ 2374 Marbles on a tree

查看原题题意把每一个节点上的大理石均匀移到树的每一个节点上,一次只能向相邻的移一个,问最少需要多少步骤思路从子节点算起,大于1的就把1以外的部分向上传,小于1的就往上拿1 注意要建立一个队列保存没有子节点的节点代码#include <iostream>#include <queue>using namespace std;struct node{ int marbles,father

2017-04-19 07:49:07 304

原创 ZOJ 2659 Box

查看原题题意给出六块板的长宽,问是否能组成一个箱子思路箱子的话则必有三对相同的长宽,每对保留其中一个的长宽,然后比较三个长宽(6个数字)能否匹配。(A板1和B板1相同匹配,则B板0必和C板其中之一相同匹配,C板另一边和A板0相同匹配)代码#include <iostream>using namespace std;struct pallet{ int width,height;}pal

2017-04-05 16:11:12 262

原创 最小生成树小结

最小生成树概念构造连通网的最小代价生成树Prim算法思路从一个点开始,列出到到每点的距离(如果是非周边的点,距离用极大值代替),找出最小相连边。如果最小相连边的点未访问过,则标记,并行到该点处,更新到每点的距离,重复找出下一点的操作,直到点全部访问过了为止。图表示所需一个二维数组图,一个记录访问的数组,一个保存最小距离的数组,一个可活动的点。模版代码查看原题#include <iostream

2017-04-02 18:09:51 393

原创 HDU 1406 完数

查看原题题意思路四月凑数之三代码#include <iostream>using namespace std;int isWanshu(int temp){ int sum=0; for(int i=1;i<temp;i++){ if(temp%i==0){ sum+=i; } } if(sum==temp)

2017-04-02 15:38:35 216

原创 ZOJ 3710 Friends

查看原题题意思路仍然是凑数的水~只要闷头做就好了,然后注意一下那个sign量代码#include <iostream>#include <string.h>using namespace std;int main() { int t,person,relation,leastneed,net[101][101],people1,people2; while(cin>>t) {

2017-04-01 16:44:56 242

原创 ZOJ 1698 Easier Done Than Said?

查看原题题意思路太水了有点不好意思贴(为了凑数量还是贴了(囧代码#include <iostream>#include <string.h>using namespace std;int isVowel(char temp){ if(temp=='a'||temp=='e'||temp=='i'||temp=='o'||temp=='u'){ return 1;

2017-04-01 13:00:21 210

原创 ZOJ 3844 Easy Task

查看原题题意思路?一不小心找了道水题……代码#include <iostream>#include <algorithm>using namespace std;int main() { int t,n; cin>>t; while(t--){ cin>>n; int number[10]; for(int i=0;i<n

2017-03-30 22:27:10 192

原创 (DFS)ZOJ 2100 Seeding

查看原题题意思路代码#include <iostream>using namespace std;int booked[7][7],step,all,flag,n,m;char field[7][7];void dfs(int x,int y){ int next[4][2]={{0,1},{0,-1},{1,0},{-1,0}};//选定上下右左四个方向 int tempx

2017-03-30 20:58:39 218

原创 (floyed反求最长路径)ZOJ 2797 106 miles to Chicago

查看原题题意每行最后跟一个走这条街会被抓到的概率,问从1走到尾点,不被抓到的概率最大是多少思路代码#include <iostream>#include <stdio.h>using namespace std;int main(){ int n,m,a,b; double c; while(cin>>n>>m&&m+n!=0){ double map[

2017-03-22 16:05:34 309

转载 (分治法求最近对)1007

查看原题代码#include<cmath>#include<algorithm>using namespace std;int n;struct node{ double x; double y;}p[100005];int a[100005];double cmpx(node a,node b){ return a.x<b.x;}double cmpy(int a

2017-03-21 20:16:15 344

原创 (平衡二叉树最少结点最大深度公式...?)HDU 2193 AVL Tree

查看原题题意输入结点数,输出平衡二叉树的最大深度,根结点不算思路a[i]=a[i-1]+a[i-2]+1; 这个公式不知道哪来的,但是真的是这么一回事,等会推推看代码#include <iostream> using namespace std; int a[46]; int n; int main() { a[0]=1;a[1]=2; for (in

2017-03-18 22:22:22 9777 3

原创 使用C语言查看/创建/终止进程

描述查看系统当前所有进程,输出所有进程号;创建新进程,打开新的程序或应用;终止进程,对相应进程号的进程进行终止。代码#include ;#include ;#include ; #include ;void all(){ system("tasklist");}void create(){ char szCommandLine[] = "cmd";

2017-03-18 15:08:42 6849 1

原创 (二叉排序树)HDU 3791 二叉搜索树

查看原题题意如题思路为每一行建立一个二叉排序树,进行对比代码#include<iostream>#include <string.h>using namespace std;int tree1[10000];int tree2[10000];void insert(char node,int tree[]){ int step=1;int nodedata=node-'0';

2017-03-18 14:51:29 220

原创 (哈夫曼编码)HDU 1053 Entropy

查看原题题意哈夫曼编码思路这段代码是我网上抄的……哇作者居然能想到用负值的优先队列实现哈夫曼树,真的是厉害了……反正我是没想到……代码#include<iostream>#include<map>#include<queue>#include <string>#include <string.h>using namespace std;const int maxn = 100000 +

2017-03-16 22:17:09 238

原创 (最小生成树 Kruskal)HDU 5253 连接的管道

题意最小生成树思路Kruskal代码#include <iostream>#include <stdio.h>#include <algorithm>using namespace std;const int N=1005;const int M=N*N;int num[N][N];int father[M];struct Edge{ int u,v,w;//本位,前位,两者

2017-03-16 09:01:12 319

原创 (遍历二叉树)HDU 1710 Binary Tree Traversals

查看原题题意给出结点数,并给定先序遍历,中序遍历,求后序遍历思路见代码 另外注意一下typedef * ->代码#include <iostream>using namespace std;typedef struct node{ node *l,*r; int data;}*treenode;treenode create(int preorder[], int inor

2017-03-14 21:49:48 263

原创 分治法在安排循环赛中的应用

#include <iostream>using namespace std;int a[1024][1024];void merger(int n){ int m=n/2; for(int i=0;i<m;i++){ for(int j=0;j<m;j++){ a[i][j+m]=a[i][j]+m; a[i+m

2017-03-08 21:36:27 452

原创 (更新中)内部排序

插入排序直接插入排序将每一个待排记录插到前面已排序列的适当位置#include <iostream>using namespace std;int main(){ int num[10],j; for(int i=0;i<10;i++){ num[i]=0; } for(int i=1;i<7;i++){ cin>>num[i];

2017-03-07 09:38:29 214

原创 (最短路径 Floyd)HDU 2544 最短路

查看原题题意最短路径思路Floyd代码#include <iostream>using namespace std;int main(){ int n,m,a,b,c; while(cin>>n>>m&&m+n!=0){ int map[105][105]; for(int i=1;i<=n;i++){ for(int j=

2017-03-06 19:11:16 250

原创 (最短路径 Dijkstra)HDU 1874 畅通工程续

查看原题题意一个顶点到其余顶点的最短路径思路Dijkstra代码#include <iostream>using namespace std;int main(){ int n,m,a,b,x,start,end; while(cin>>n>>m){ int map[205][205]; for(int i=0;i<n;i++){

2017-03-06 12:32:35 322

原创 (关键路径)HDU 4109 Instrction Arrangement

题意N条指令M个约束条件,每条指令之间必须有安全间隔,执行一条指令用时1s思路关键路径,类似拓扑排序中求最长路径。设定map容器、入度为0的队列、入度数组、到每一点最长的路。代码#include <iostream>#include <vector>#include <queue>using namespace std;struct edge{ int next; int c

2017-03-04 21:46:01 367

原创 (最小生成树)HDU 1233 还是畅通工程

查看原题题意最小生成树思路Prim 我套了之前的模板代码#include <iostream>using namespace std;int main(int argc, char *argv[]){ int n,a,b,x; while(cin>>n&&n){ int num[101][101],visted[101]={0},lowest[101]={999

2017-03-01 21:49:36 208

原创 (拓扑排序)HDU 1285 确定比赛名次

查看原题题意拓扑排序思路以二维数组存储有向图,in数组记录每个点的入度,增加marked数组判断该点是否操作过代码#include <iostream>using namespace std;int main(int argc, char *argv[]){ int n,m,a,b; while(cin>>n>>m){ int marked[505]={0},n

2017-03-01 07:32:03 226

原创 (最小生成树)HDU 1863 畅通工程

查看原题题意最小生成树思路Prim算法代码#include <iostream>using namespace std;int main(int argc, char *argv[]){ int m,n,num[105][105],a,b,x; while(cin>>n>>m&&n){ int visted[105]={0}; for(int i

2017-02-28 07:10:27 204

原创 (大数相加)HDU 1002 A + B Problem II

查看原题题意两数相加思路JAVA大数相加代码import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { BigInteger a, b; int T; Scanner in =

2017-02-25 20:52:56 231

原创 HDU 1113 Word Amalgamation

查看原题题意给出单词集合,再给错序单词,如果集合中有则输出,无则说明思路将集合中的单词作为索引,再用sort()排好序,作为值。 乱序中的单词也用sort()排序,查找map值中是否有相等的,有就输出索引代码#include <iostream>#include <string>#include <map>#include<algorithm> using namespace std;i

2017-02-24 19:59:03 225

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除