POJ 2296 Map Labeler / ZOJ 2493 Map Labeler / HIT 2369 Map Labeler / UVAlive 2973 Map Labeler(2-sat 二分) Description Map generation is a difficult task in cartography. A vital part of such task is automatic labeling of the cities in a map; where for e…
POJ 1860 Currency Exchange / ZOJ 1544 Currency Exchange (最短路径相关,spfa求环) Description Several currency exchange points are working in our city. Let us suppose that each point specializes in two particular currencies and performs exchange operations onl…
两题二分图匹配的题: 1.一个农民有n头牛和m个畜栏,对于每个畜栏,每头牛有不同喜好,有的想去,有的不想,对于给定的喜好表,你需要求出最大可以满足多少头牛的需求. 2.给你学生数和课程数,以及学生上的课,如果可以做到每个学生代表不同的课程并且所有的课程都被代表输出"YES"(学生能代表一门课当且仅当他上过). 1.POJ 1274 The Perfect Stall http://poj.org/problem?id=1274 和上一题过山车一样,也是二分图匹配的. 水题. #incl…
bzoj2287[POJ Challenge]消失之物 缺一01背包 链接 bzoj 思路 分治solve(l,r,arr)表示缺少物品\([l,r]\)的dp数组arr. 然后solve(l,mid,arr)用右边的物品更新,solve(mid+1,r,arr)同理. \(f(n)=2*f(\frac{n}{2})+(r-l+1)*m\) 复杂度为\(O(nmlog{n})\) 缺点最短路也是这样,用\(floyd\) 代码 #include <bits/stdc++.h> using na…
POJ :http://poj.org/problem?id=1384 ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2014 题目大意: 给定一个猪的存钱罐,它的初始重量和装满的重量,给你n种货币(包括它们的重量和价值),要求求最坏情况下装满这个猪所能获得的钱 依旧是完全背包的问题. 只不过一开始只有什么都不装有合法解,其他均为无穷大,即一开始dp[0]=0 然后改为求min而不是max(题目要求最坏情况下)…
传送门: http://poj.org/problem?id=1511 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1008 题目大意: 给定p个点,还有他们的边q,(有向图)求从结点1出发到所有结点和所有结点到1的最短路径之和. 其中1 <= P,Q <= 1000000 思路: 和上次 POJ 3268 Silver Cow Party 一样,有向图倒着建立就把从所有结点到1的最短路径改为了从1到所有,那么只需两次d…
http://poj.org/problem?id=1384 Piggy-Bank Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7900 Accepted: 3813 Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income f…
poj 2096 题目:http://poj.org/problem?id=2096 f[ i ][ j ] 表示收集了 i 个 n 的那个. j 个 s 的那个的期望步数. #include<cstdio> #include<cstring> #include<algorithm> #define db double using namespace std; ; db n,s,f[N][N]; int main() { scanf("%lf%lf"…
链接:http://poj.org/problem?id=1384 Piggy-Bank Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8893 Accepted: 4333 Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main incom…
http://poj.org/problem?id=2590 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1871 题目大意: 给两个点a,b,要求从a移动到b,每次移动步数要比前面的一步大或者等于或者小1.求最小的步数.(起始和终点必须步数为1) 思路: 直接对称着来做. 比如: 1->7的话 可以 1 2 2 1 1->9 1 2 3 2 1 50 1 2 3 4 5 6 7 6 5 4 3 2 1 1 两个OJ…
POJ:http://poj.org/problem?id=1458 ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=733 HDU: http://acm.hdu.edu.cn/showproblem.php?pid=1159 题目大意: 给定两串子序列,求最长的公共字串(LCS) 设d( i , j)为A和 B的LCS的长度,则当A[i] = B[j]时, d(i , j)= d(i-1, j-1)+1 ; 否则…
http://poj.org/problem?id=1751 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2048 题目大意: 给你n个点的坐标,并且m个点之间已经建立起连接,让你输出剩下的MST的连接点. 两题其实一样.就输入一点点不同. 因为题目采用Special Judge故水题一题. POJ: #include<cstdio> #include<cmath> #include<algorit…
传送门: http://poj.org/problem?id=1251 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=406 POJ RE死了,改成cin救过了..不过ZOJ原来的就能过,估计是POJ的数据多了个空格什么的. 1.prim #include<cstdio> #include<cstring> #include<iostream> using namespace std; const…
题目链接:http://poj.org/problem?id=1564 题目大意:给定一个整数t,和n个元素组成的集合.求能否用该集合中的元素和表示该整数,如果可以输出所有可行解.1<=n<=12 Sample Input 4 6 4 3 2 2 1 1 5 3 2 1 1 400 12 50 50 50 50 50 50 25 25 25 25 25 25 0 0 Sample Output Sums of 4: 4 3+1 2+2 2+1+1 Sums of 5: NONE Sums of…
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1384 Intervals Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4841    Accepted Submission(s): 1815 Problem Description You are given n closed, in…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1882 http://poj.org/problem?id=2536 题目大意: 有n之地鼠和m个地洞,他们需要在s秒内以v秒的速度跑进洞中,否则会被鹰抓走.给定每个地鼠和洞的坐标,每个洞最多容纳一只地鼠,问最小有危险的地鼠个数. 思路: 跑回学校了~来A几题. 几个月前看的题不会做T T,现在好简单... 本题可以转化为二分图匹配.如果地鼠到洞的时间小于s,那么久建一条边…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=364 http://poj.org/problem?id=1325 题目大意: 给两台机器A和B,他们分别有n和m个工作模式,初始的时候都在Mode_0状态上,切换工作模式的时候必须重启机子.给你K个任务,第i个任务可以运行在A的mode_x上,B的mode_y上,求完成所有工作所需最少重启次数. 思路: 好吧,不会做.看了大神的思路: 对于任务(i,x,y),我们在A机mod…
Piggy-Bank Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 10830   Accepted: 5275 Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from…
求猜存钱罐中至少有多少钱.容易知道金币总的重量,接着背包. #include<cstdio> #include<iostream> using namespace std; #define N 10010 #define M 100000000 int dp[N]; ],we[]; int main() { int t; scanf("%d",&t); while(t--) { int em,fu; scanf("%d%d",&…
//本来是想练一下欧拉回路的,结果紫书上那题是大水题!!!!! 题意:给出n个单词,是否可以把单词排列成每个单词的第一个字母和上一个单词的最后一个字母相同 解:欧拉通路存在=底图联通+初度!=入度的点至多只有两个(分别为入点和出点) #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #include<cstdli…
所谓的全然背包,就是说物品没有限制数量的. 怎么起个这么intimidating(吓人)的名字? 事实上和一般01背包没多少差别,只是数量能够无穷大,那么就能够利用一个物品累加到总容量结尾就能够了. 本题要求装满的,故此添加个限制就能够了. #include <stdio.h> #include <stdlib.h> #include <string.h> inline int min(int a, int b) { return a < b? a : b; }…
水题,感觉和田忌赛马差不多 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; struct P1 { int Num; int Hua; } Play1[]; struct P2 { int Num; int Hua; } Play2[]; bool cmp1(const P1&a,const P1&b) {…
题意:给出猪罐子的空质量和满质量,和n个硬币的价值和质量,求猪罐子刚好塞满的的最小价值. 思路:选择硬币,完全背包问题,塞满==初始化为无穷,求最小价值,min. 代码: #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define inf 10000000 int n,sum,empty,full,T; int v[600],w[600],dp[10050]; in…
题目链接:https://vjudge.net/contest/217847#problem/A 题目大意:   现在有n种硬币,每种硬币有特定的重量cost[i] 克和它对应的价值val[i]. 每种硬币可以无限使用. 已知现在一个储蓄罐中所有硬币的总重量正好为m克, 问你这个储蓄罐中最少有多少价值的硬币? 如果不可能存在m克的情况, 那么就输出” This is impossible.”. 解题分析: 由于每种硬币可以无限使用, 所以是明显的完全背包问题,dp[i][j]为只用前i种硬币装满…
Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple. Whenever some ACM member has any sma…
Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 25108   Accepted: 13077 Description A power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A node u may be supplied…
传送门 显然不能直接写多重背包. 这题可以用二进制拆分/单调队列优化(感觉二进制好写). 所谓二进制优化,就是把1~c[i]拆分成20,21,...2t,c[i]−2t+1+1" role="presentation" style="position: relative;">20,21,...2t,c[i]−2t+1+120,21,...2t,c[i]−2t+1+1的组合. 这样物品总个数就变成了∑log(c[i])" role="…
Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple. Whenever some ACM member has any sma…
题意: 已知储蓄罐满时的质量f以及空时质量e, 有n种硬币,每种硬币的价值为p,质量为w, 求该储蓄罐中的最少有多少钱? 思路: 完全背包思想,问题是在一个重量下的最小价值 那么只要变一下符号就好了? //#include <bits/stdc++.h> #include<iostream> #include<string.h> #include<cstdio> #include<algorithm> using namespace std; t…
一个完全背包 很裸,对于我这种DP渣渣都能1A.. // by SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int cases,n,E,F,f[20050],w[505],v[505]; int main(){ scanf("%d",&cases); while(cases--){ memset(f,0x3f,…