挑战程序设计竞赛
LandscapeMi
这个作者很懒,什么都没留下…
展开
-
ACM_程序设计竞赛:穷举法:DFS(深度优先)
DFS的伪码从顶点v出发;访问v相邻且未被访问的顶点w1w_1依次w2,....,w_2,....,,直到不能继续退回到出发点v,若v的领域还有为访问结点,重复上述//结果:abdceghfbool visited[MAX_VERTEX_NUM]; //访问数组标记void DFSTraverse(Graph G){ //对图G深度遍历,访问函数是visit() for(原创 2016-03-30 01:11:11 · 1674 阅读 · 0 评论 -
ACM_程序设计竞赛:穷举法:BFS(广度优先)
类似于层次遍历首先访问起始顶点v,v出发,依次访问领接的顶点w1,w2,...,wiw_1,w_2,...,w_i不后退,一步可以访问一批结点//结果:abcdefgh //算法: bool visited[MAX_VERTEX_NUM];//访问标记数组 void BFSTraverse(Graph G){ //图G进行广度优先遍历,设访问函数visit() for(i=0原创 2016-04-01 01:10:41 · 1087 阅读 · 0 评论 -
ACM_程序设计竞赛:贪心算法:硬币问题
贪心算法:就是贪心的选取当前最优策略的算法设计方法。有1元,5元,10元,50元,100元,500元的硬币原创 2016-04-05 01:36:50 · 1785 阅读 · 0 评论 -
ACM_程序设计竞赛:贪心算法:区间问题
有n项工作,每项工作分别在 sis_i时间开始,tit_i时间结束。对于每项工作你选择参与与否,如果选择 了参与,那么自始至终就必须全程参与。参与工作的时间段不可以重复。(开始的瞬间和结束重复也不可以) 尽可能多的参与工作,可以参与多少。/*------------------------------------[输入]n=5, s={1,2,,4,6,8},t={3,5,7,9,10}原创 2016-04-12 01:34:49 · 1383 阅读 · 0 评论 -
ACM_程序设计竞赛:贪心算法:字典最小序
#include <stdio.h>#include <tchar.h>#include <queue>#include <iostream>using namespace std;const int N = 8;char chs[N+1] = "ADHCACBD";char* solve(char chs[]){ int start = 0, end = N - 1; b原创 2016-04-21 15:51:49 · 637 阅读 · 0 评论 -
ACM_程序设计竞赛:DP:01背包
01背包 设 n个重量和价值为wiw_i和viv_i的物品,从中选择总重量不超过W的物品,求挑选方案中价值总和最大输入: n=4 (w, v) = {(2,3),(1,2),(3,4),(2,2)} w=5 输出 7(选择0,1,3)//暴力算法 //O(2^n)#include<iostream>using namespace std;const int maxn=100;in原创 2016-05-05 14:35:57 · 835 阅读 · 0 评论 -
ACM_程序设计竞赛:贪心算法:saruman army
/*saruman's army给从左边开始,在圆内的最右边的点加上标记即可。*/#include<iostream>#include<algorithm>using namespace std;#define MAX_N 1000int r, n;int x[MAX_N];void solve(){ sort(x,x+n); int i=0,ans=0; whi原创 2016-04-24 00:21:59 · 477 阅读 · 0 评论