
POJ
文章平均质量分 58
sky-edge
这个作者很懒,什么都没留下…
展开
-
POJ 2195 Going Home 费用流
嗯,就是说一个n*m的地图然后上面有相等数量的小人和房子,小人每次可以上下左右地走到相邻点,然后每个小人要走到一所房子里,每个房子也只能装一个小人然后小人走到房子的花费就是小人走的步数,一个点上可以有多个小人,一个小人也可以走到一个房子的点上但是不进入这个 房子嗯,这样就是很裸的费用流,建一个超级源点,连接所有小人,容量为1,费用为0,建一个超级汇点,连接所有房子,容量为1,费用为0,原创 2016-07-30 23:20:39 · 307 阅读 · 0 评论 -
POJ 2482 Stars in Your Window 线段树+扫描线
妈个鸡,要不是队友提醒,我能把题面上的那封情书读完,读了一半多了都然后题意就是,在一个平面直角坐标系上,有一些点,每个点有一个权值,用一个矩形框去框住他们,问怎么才能使框住的所有点的权值和最大,边界上的点不算。边界上的点 不算,我之前只做到过一次边界上的点算的啊,怎么办,把长和宽都各自-1就好啦。处理之后,设长为w,宽为h。大概就是,把一个点沿一个方向,假如说是x轴,沿x轴向正方向延长原创 2016-03-17 19:43:16 · 376 阅读 · 0 评论 -
POJ 2142 The Balance 扩展欧几里德
题意,给两种砝码,amg的和bmg的,和所称物品,dmg。问怎样称,能使所用砝码数最少。如果有多种数量最少的方案,输出砝码总重量最小的方案首先,显然是一个扩展欧几里德,求出a*x+b*y=gcd(a,b)的x和y的一组解,然后根据通解公式,找最小的|x|+|y|就行,从中选总重量最小的输出就好。然后,就开始WA了,,,其实还是没有考虑全,对于gcd(a,b),它一定是所以,原创 2016-03-13 11:08:18 · 456 阅读 · 0 评论 -
POJ 3299 Humidex 水题
三个数,T表示温度 temperature,D表示露点 dewpoint,H表示湿润指数 humidex。 三个数的关系:1已知T和D求HH=T+hH=T+hH=T+h h=0.5555∗(e−10.0)h=0.5555∗(e−10.0)h=0.5555*(e-10.0) e=6.11∗exp[5417.7530∗1273.16−1D+273.16]e=6.11∗exp[5417.7...原创 2018-07-26 16:36:05 · 253 阅读 · 0 评论 -
POJ 2159 Ancient Cipher 水题
密码加密,密码都是大写英文字母,有两种加密方式,替换方式和排列方式。替换就是把每个字母用别的字母替换,而且不能重复。排列方式就是把字母重新排列顺序。这两种方式混合使用。现在给你A字符串和B字符串,A是密文,问B是否是原文。排列的解决方法比较简单,就把两个字符串都按字典序排序,看看是否相同即可。 替换的解决方式,观察每个字母的出现次数,然后就可以得到。 综合一下就是,统计每个字母的出现次数,...原创 2018-07-26 18:48:14 · 179 阅读 · 0 评论 -
POJ 2739 Sum of Consecutive Prime Numbers 水题
任意给你一个[2,10000]之间的数,问你它是否可以是某段连续的素数之和,可以有多少种这样的表示。 53=53=5+7+11+13+17,有两种表示,所以53对应的答案是2。 41=41=11+13+17=2+3+5+7+11+13,一共有3种表示,所以41对应的答案是3。 20不能写成某段连续的素数之和,所以20对应的答案是0。做法不难吧,先筛个素数,筛出来打表或者用线性筛都可以。然...原创 2018-07-27 12:51:07 · 256 阅读 · 0 评论 -
POJ 1083 Moving Tables 水题
400个房间分布在一条走廊的两侧,每侧各200个。1的对面是2,3的对面是4,…,399的对面是400。然后就是挪动桌子占用走廊,n次挪动,最少时间。 把桌子从l挪动到r(l#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include &l...原创 2018-07-27 15:46:15 · 199 阅读 · 0 评论 -
POJ 2262 Goldbach's Conjecture 水题
哥德巴赫猜想 任何一个大于4的偶数都可以写成两个奇质数之和。 验证一百万以内的哥德巴赫猜想线性筛素数,然后枚举即可。 可以存两个素数表,第一个int型数组存所有的素数,第二个bool型数组表示这个位置是不是素数。 然后对于n,遍历第一个素数表,再通过第二个素数表看看n-prime[i]是不是素数即可。代码如下:#include <cstdio>#include...原创 2018-07-27 16:16:36 · 259 阅读 · 0 评论 -
POJ 1503 Integer Inquiry 水题
给出最多100个大数,每个数最多100位,求和。 模拟一下加法,注意进位就可以。代码如下:#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>using namespace std;char ...原创 2018-08-17 15:19:03 · 247 阅读 · 0 评论 -
POJ 3006 Dirichlet's Theorem on Arithmetic Progressions 水题
狄利克雷定理:对于任意互质的正整数a,d,有无限多个质数的形式如a+nd,其中n为正整数,即在等差数列a+d,a+2d,a+3d,…中有无限多个质数。 现在给出a、d和n,求其对应的等差数列中的第n个质数,已知其数值不会超过10610610^6。先筛出素数来,然后对于一个等差数列,就依次判断,直到找到第n个素数即可。代码如下:#include <cstdio>#in...原创 2018-08-17 16:08:43 · 303 阅读 · 0 评论 -
POJ 3321 DFS序+树状数组
树形转线性,然后用树状数组维护就行,单点更新,区间查询,但是辣鸡POJ卡vector窝日,所以用链式前向星存就行#include #include #include #include #include #include #include #include #include #include using namespace std;#define ll long l原创 2016-07-15 18:01:46 · 382 阅读 · 0 评论 -
POJ 3259 SPFA
判有没有负环然后用SPFA搞就行,紫书上只说了可以用spfa搞,加个结点,但是没说具体怎么搞,后来现学了一发就行,加个0号节点,然后往其他所有点连一个权值为0的边,然后从0号节点跑spfa就行貌似还有一种DFS版的spfa,也可以判负环,但是那个只能从某个定点出发啊,感觉限制性还是挺大的正好也收一个spfa判负环的版#include #include #include #in原创 2016-07-15 18:04:49 · 290 阅读 · 0 评论 -
POJ 1860 Currency Exchange SPFA判回路
就是有N种硬币,M个兑换所,每个兑换所可以把A兑换成B或者把B换成AA B Rab Cab Rba Cba可以表示一个兑换所,如果是x个A,则可以兑换成(x-Cab)*Rab个A,如果是x个B,则可以兑换成(x-Cba)*Rba个A,然后某人现在有V个S种货币,问他能否在经过某些兑换后,最后能得到比V多的S种货币这个题其实是一个判断回路的问题,类似于判断负权回路,这个题判断的是正权回路原创 2016-07-23 19:22:03 · 336 阅读 · 0 评论 -
POJ 2516 Minimum Cost 费用流
就是说有N个商人,和M个货源,然后一共是K种商品输入第一行是N M K接下来是N行,每行K个,表示商人对各种商品的需求情况,需求数都在[0,3]内再接下来是M行,每行K个,表示货源中每种商品的供应情况,供应书也在[0,3]内再接下来是K个N*M的矩阵,第x个矩阵的第y行第z列表示第x种商品从第z个货源运输到第y个商人那里需要多少花费(1个的花费)然后问你现在想完成从货源到商人的原创 2016-07-30 22:45:49 · 445 阅读 · 0 评论 -
POJ 1201 Intervals 差分约束
是上一个 POJ 1716的加强版,上一个是每个区间至少有两个,这个是对于第i个区间,至少有ci个给你n个区间,n每个区间有左右两个端点,a,b,a,b然后要你选一个点集,使这个点集在第i个区间中,至少有ci个个点,求这个点集的点的个数的最小值做法还是贪心或者差分约束系但是贪心要优化一下先说差分约束吧dist[i]表示[0,i)中包含的数的个数dist[原创 2016-07-30 19:31:04 · 340 阅读 · 0 评论 -
POJ 1716 Integer Intervals 差分约束
题意是给你n个区间,n每个区间有左右两个端点,a,b,a,b然后要你选一个点集,使这个点集在每个区间中至少有2两个点,求这个点集的点的个数的最小值做法是贪心或者差分约束系统贪心:就是说把所有区间按右端点升序排序,然后对于第一个区间,取最右边的那两个数,点数+2,因为越靠右越有可能被后面用到,从而使点数尽可能少然后记录上次取的那两个数a1,a2,然后对于下一个区间,首先看原创 2016-07-30 18:13:08 · 430 阅读 · 0 评论 -
POJ 3436 ACM Computer Factory 最大流
题意就是说,现在有一个电脑生产工厂,一个电脑可分为P个零件,工厂里共有N台机器对于每台机器,Q,S1,S2,,,Sp,D1,D2,,,Dp,可以描述它,其中Q为这台机器每个小时能生产的电脑数量,Si表示它对第i个零件的需求,0为这个零件必须为空,1为这个零件必须要有,2为有无皆可,Di表示它生产完成之后的第i个零件的状况,0为这个零件为空,1为有这个零件然后问你每小时最大生成数量和具体原创 2016-07-26 09:49:14 · 308 阅读 · 0 评论 -
POJ 1459 Power Network 最大流
就是给你一个电力网络,有发电站,有用户,有中转站,然后让你求用户最多能使用多少电然后就是网络流呗,建一个超级源点,连接所有发电站,然后建一个超级汇点,连接所用用户,然后从超级源点往超级汇点跑网络流就行但是因为是第一次写,找模板找了好久,最后还是用kuangbin菊苣的模板,毕竟是链式前向星的熟悉,而且代码风格也很熟悉,而且模板也很nice,快的飞起对了,复杂度应该是O(n*n*sqrt原创 2016-07-26 01:22:36 · 275 阅读 · 0 评论 -
POJ 3041 Asteroids 二分图最小点覆盖
给N和K,N代表N*N的矩阵,K代表接下来有K个格子,每个格子上有一个小行星,他的武器每次可以干掉某一行或者某一列的所有小行星,然后问最少使用 多少次该武器最小点覆盖:就是对于一个图,选取最少数量的点S,使得对于所有的边,都至少有一端点是S中的点König定理:二分图中的最小覆盖点数==最大匹配数这个题建图,每行对应为左边的每个点,每列对应为右边的点,然后如果(i,原创 2016-07-25 22:22:33 · 391 阅读 · 0 评论 -
poj 3320 Jessica's Reading Problem 二分图最小边覆盖
就是给一个h*w的矩阵,然后矩阵上有些地方有点,其他地方没有,现在要一些天线来覆盖他们一个天线能覆盖两个相邻(上下左右相邻)的点(当然,如果一个点没有和它相邻的,那也需要用一个天线来覆盖)然后问最少需要多少天线来覆盖所有点二分图的最小边覆盖无向图的最小边覆盖就是选取最少数量的边,使得图中的每个点都是所选边里的至少一条边的端点二分图最小边覆盖就是顶点数(只取某一部的)-最大匹配数原创 2016-07-25 23:55:07 · 333 阅读 · 0 评论 -
POJ 2253 Frogger dijkstra
就是从某点到某点找一条路径,使得这条路径上的最长的长度最短这个问题,跟最短路的性质类似,所以也可以这样去搞,if (!vis[j] && max(dist[k], graph[k][j]) { dist[j] = max(dist[k], graph[k][j]); //path[j] = k; }就是dist[j]存储从出发点到该点的路径上的最长原创 2016-07-25 01:33:27 · 276 阅读 · 0 评论 -
POJ 1062 昂贵的聘礼 最短路
Description年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币原创 2016-07-23 21:42:17 · 278 阅读 · 0 评论 -
POJ 3094 Quicksum 水题
首先约定,每个字母对应的值是其在字母表的顺序,A对应1,B对应2,……,Z对应26。其次,空格对应0。 给一串长度小于256的字符串,包括大写字母和空格,其字符串求和的计算方式为,每个字符的下标*其对应的值,相加求和。下面为两个例子: ACM: 1*1 + 2*3 + 3*13 = 46 MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7...原创 2018-08-17 16:30:10 · 306 阅读 · 0 评论