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

UVA 10098 Generating Fast, Sorted Permutation

摘要: // 给你字符串 按字典序输出所有排列// 要是每个字母都不同 可以直接dfs ^_^// 用前面说的生成排列算法 也可以直接 stl next_permutation#include #include #include#include #include #include #include #include using namespace std;char s[100];int n;void change(int l,int r){ while(l0&&s[i-1]>=s[i]) i--; if(!i) return false; int k=i,j=n-1; ... 阅读全文
posted @ 2014-03-16 11:10 江财小子 阅读(262) 评论(0) 推荐(0) 编辑

POJ 1146 ID Codes (UVA146)

摘要: // 求下一个排列// 如果已经是最后一个排列// 就输出 No Successor// stl 或 自己写个 生成排列 我测试了下 两个速率是一样的、只是代码长度不同/*#include #include #include#include #include #include #include #include using namespace std;char s[100];int n;int main(){ while(scanf("%s",s),strcmp(s,"#")) { n=strlen(s); if(next_permutation(s,s 阅读全文
posted @ 2014-03-16 10:40 江财小子 阅读(295) 评论(0) 推荐(0) 编辑

POJ 1833 排列

摘要: 题意: 给你某个排列 求从下一个排列开始的第k个排列如果是最后一个排列 则下一个排列为1 2 3 ... n// 1 用stl 里面的 next_permutation// 2 用生成下一个排列算法// 1)从末尾开始找第一个正序 A[i-1]A[i-1]// 3)交换 A[i-1],A[j]// 4)将下标从i开始的序列翻转 #include #include #include#include #include #include #include #include using namespace std;int s[2000];int n,k;void change(i... 阅读全文
posted @ 2014-03-16 10:20 江财小子 阅读(435) 评论(1) 推荐(0) 编辑

hdu 4435 charge-station

摘要: // 题意 从1出发逛完N个点回到出发点 要在这N个点选择性建设加油站 车每次加满油最多可以行使D米// 然后最少要花多少钱才能达到上述要求// 注意到 第i个城市的花费是 2^(i-1) 所以 我就从N枚举到2// 尽量让 i大的不建加油站 应为前i-1个加油站总费用都没有第i个加油站一个的费用多// 难点是怎么判断一组方案的可行性// 注意到 若i 不建加油站 那么必须存在某个加油站和他距离等于小于 (D+1)/2// 这样对于每组方案进行搜索,看下是否每个点都是可以达到并可以回到起点的// #include #include #include #include using namespa 阅读全文
posted @ 2013-08-02 15:20 江财小子 阅读(190) 评论(0) 推荐(0) 编辑

poj 3469 Dual Core CPU

摘要: 题目描述:由于越来越多的计算机配置了双核CPU,TinySoft公司的首席技术官员,SetagLilb,决定升级他们的产品-SWODNIW。SWODNIW包含了N个模块,每个模块必须运行在某个CPU中。每个模块在每个CPU中运行的耗费已经被估算出来了,设为Ai和Bi。同时,M对模块之间需要共享数据,如果他们运行在同一个CPU中,共享数据的耗费可以忽略不计,否则,还需要额外的费用。你必须很好地安排这N个模块,使得总耗费最小。思路: 如果将两个CPU分别视为源点和汇点、模块视为顶点,则可以按照以下方式构图:对于第i个模块在每个CPU中的耗费Ai和Bi, 从源点向顶点i连接一条容量为Ai的弧、从顶点 阅读全文
posted @ 2013-08-01 16:51 江财小子 阅读(789) 评论(0) 推荐(0) 编辑

zoj 3659 Conquer a New Region

摘要: // 给你一颗树 选一个点,从这个点出发到其它所有点的权值和最大// i 到 j的最大权值为 i到j所经历的树边容量的最小值// 第一感觉是树上的dp// 后面发现不可以// 看了题解说是并查集// 然后发现这不就是在最小生成树那个模板上做其它操作吗、、// 的确是好题#include #include #include #include #include using namespace std;#define maxn 200010#define LL long longstruct Eg{ int a,b,w; bool operatort.w; }}E[maxnsv){ ... 阅读全文
posted @ 2013-08-01 11:26 江财小子 阅读(307) 评论(0) 推荐(0) 编辑

poj 2391 Ombrophobic Bovines

摘要: Jack农场主的奶牛实在是太讨厌被淋湿了。奶牛们决定在农场设置降雨警报,这样在快要下雨的时候可以让奶牛们都知道。他们设置设计了一个下雨撤退计划,这样在下雨之前每头奶牛都能躲到避雨点。然而,天气预报并不总是准确的。为了使得错误的天气预报影响尽可能小,他们希望尽可能晚地拉响警报,只要保证留有足够的时间让所有的奶牛都能回到避雨点就可以了。农场有F块草地,1≤F≤200,奶牛们在草地上吃草。这些草地之间有P条路相连,1≤P≤1500,这些路足够宽,再多的奶牛也能同时在路上行走。有些草地上有避雨点,奶牛们可以在此避雨。避雨点的容量是有限的,所以一个避雨点不可能容纳下所有的奶牛。草地与路相比很小,奶牛们通 阅读全文
posted @ 2013-08-01 08:44 江财小子 阅读(168) 评论(0) 推荐(0) 编辑

poj 1087 A Plug for UNIX

摘要: 题目描述:现在由你负责布置Internet联合组织首席执行官就职新闻发布会的会议室。由于会议室修建时被设计成容纳全世界各地的新闻记者,因此会议室提供了多种电源插座用以满足(会议室修建时期)各国不同插头的类型和电压。不幸的是,会议室是很多年前修建的,那时新闻记者很少使用电子设备,所以会议室对每种插座只提供了一个。新闻发布会时,新闻记者需要使用许多电子设备,如手提电脑,麦克风,录音机,传呼机等等。尽管这些设备很多可以使用电池,但是由于发布会时间很长并且是单调乏味的,记者们希望能够使用尽可能多的设备(这些设备需要使用插座),以打发时间。在发布会之前,你收集了记者们使用的设备的信息,开始布置会议室。你 阅读全文
posted @ 2013-07-31 15:41 江财小子 阅读(237) 评论(0) 推荐(0) 编辑

poj 2112 Optimal Milking

摘要: 题目描述:农场主John将他的K(1≤K≤30)个挤奶器运到牧场,在那里有C(1≤C≤200)头奶牛,在奶牛和挤奶器之间有一组不同长度的路。K个挤奶器的位置用1~K的编号标明,奶牛的位置用K+1~K+C的编号标明。每台挤奶器每天最多能为M(1≤M≤15)头奶牛挤奶。编写程序,寻找一个方案,安排每头奶牛到某个挤奶器挤奶,并使得C头奶牛需要走的所有路程中的最大路程最小。每个测试数据中至少有一个安排方案。每条奶牛到挤奶器有多条路。// 本题的求解算法:先用Floyd算法求出能达到的任意两点之间的最短路径,然后用Dinic算法// 求最大流;搜索最大距离的最小值采用二分法进行。// 建图问题 : 给个 阅读全文
posted @ 2013-07-31 10:29 江财小子 阅读(203) 评论(0) 推荐(0) 编辑

uva 11768

摘要: // 扩展欧几里得算法 // 先求出一个解 再求出区间 [x1,x2]有几个整数符合条件// 需要注意的是 水平和垂直2种情况的处理 还有正数和负数取整的细微差别#include #include #include #include #include #include #include using namespace std;#define MOD 1000000007#define maxn 1000010#define maxm 48010#define LL long longLL ax,ay,bx,by;LL a,b,c;LL d,x,y;void extendGcd(LL a,LL. 阅读全文
posted @ 2013-07-30 15:37 江财小子 阅读(198) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 41 下一页