自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FlushHip

现在的自己不开心也不难过,只为寻求心灵上的一丝成就感。

  • 博客(37)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 CF708A(AIM Tech Round 3 (Div. 2) - C)

Problem : Letters Cyclic Shift Description : 给你一个字符串ss,让你仅对其中一个子串进行操作: 把这个子串所有的字母向下调一个位置,c→b,b→a,a→zc\to b, b\to a, a\to z。使得整个ss的字典序最小!Solution : 仔细分析下,发现字典序最小,那么我们就要先对最前的字符进行操作遇到aa就停止,最前面如果是aa

2016-08-26 12:23:03 468

原创 CF707C(Codeforces Round #368 (Div. 2) - C)

Problem : Pythagorean Triples Description : 给出一个数字,要你求出另外的两个数使得这三个数构成勾股数。 Solution : 公式题,知道公式就可以做,不知道那就放弃吧。 Code(JAVA) : import java.util.Scanner;public class Main { Scanner cin = new Scanner(Sy

2016-08-24 13:26:49 581

原创 POJ3239

Problem : Solution to the n Queens Puzzle Description : 求出N皇后问题的一组解 Solution : 找个资料。直接当模板用吧。反正这个公式我是推不出! Code(JAVA) : import java.util.Scanner;public class Main { Scanner cin = new Scanner(Syste

2016-08-22 20:47:28 455

原创 FZU2221

Problem : RunningMan Description : 一个比人数的游戏,每轮双方各出一些人,如果跑男组比对面的人多或者相等,那么跑男组赢,比赛进行3轮,3局两胜。给出两组的人数n,mn,m,问跑男组是否存在一种人数分配方案使得跑男组必胜。Solution : 其实就是个田忌赛马的故事。这个题目很坑的地方在于每一轮中你可以不出人!那么通过分析,第一轮出的人要最少,不然的

2016-08-22 16:09:12 609

原创 HUNNU11650

Problem : Tractor Description : 给你一个农场,现在有一个人偷了农夫的拖拉机在这个农场跑,他只能在XX轴正向和YY轴正向跑。而且他的第ii步要走2i−12^{i-1}米,现在给你农场的右上角的坐标(A,B)(A,B)。问你这个人最多能到达多少个点。Solution : 要注意这个2i−12^{i-1}。其实就是暗示了我们要用二进制做。我们可以枚举这个人

2016-08-22 15:37:26 581

原创 POJ2546

Problem : Circular Area Description : 求两个圆的公共面积Solution : 高中的数学知识,大家把余弦定理和海伦公式复习下就知道做了。分两圆的位置情况讨论就好,不过两个圆相交的时候有点坑,我们要判断圆心角一半的余弦值而不能判断小圆的圆心是否在大圆内。大家画个图就明白了。Code(JAVA) : import java.util.Scanner

2016-08-18 10:08:09 436

原创 POJ2774

Problem : Long Long MessageDescription : 给你两个字符串,让你找出两个字符串最长的相同部分。Solution : 后缀数组+LCP。这题一看就知道可以用最长公共前缀来做啊。不过这是我的第一道后缀数组入门题,用了刘汝佳大神的模板。说说具体做法吧,height[]height[]的定义就是sa[i−1]sa[i-1]和sa[i]sa[i]的最长公共前缀

2016-08-17 09:16:48 453

原创 HDU4431

Problem : Mahjong Source : 2012 Asia Tianjin Regional Contest Description : 打麻将胡牌,现在给你十三张牌,问你能胡哪几张牌。Solution : 模拟,可惜,当时做的时候用了dfsdfs,然后就一直超时。这题其实很简单。我们首先要做的就是把牌组合一下,相同的放一起,然后一种一种判断。我们现在关注常规的判断

2016-08-13 11:24:31 483

原创 HDU4435

Problem : charge-station Source : 2012 Asia Tianjin Regional Contest Description : 给你NN个点的坐标,现在有一个人开着一辆车从1城市出发,要遍历所有的城市并且回到1城市。但是,车子需要加油,所以要在N个点中的某些城市建立加油站。车子开了DD公里就需要加油,并且加满油后可以再跑DD公里。问最小费用是多少。在TiT

2016-08-13 09:27:46 671

原创 POJ2723

Problem : Get Luffy Out Description : 有2N2N把钥匙,分成了NN份,每份两把钥匙,使用了其中一把,另一把就会自动消失,现在有MM层楼,每层楼有扇门,每扇门有两把锁,打开其中任意一把都可以打开这个门。现在问你用这些钥匙最多能开几扇门,注意,只有打开了前一层楼的门才能有机会开下一层楼的门?Solution : 二分答案+2−SAT2-SAT问题。把

2016-08-12 09:58:29 463

原创 HDU4421

Problem : Bit Magic Source : 2012 Asia ChangChun Regional Contest Description : 给出一个矩阵bb,问你存在一个这样的序列XX,满足下图: Solution : 2−SAT问题2-SAT问题,我们根据题目中提示的b[i][j]∈[0,231−1]b[i][j]∈[0, 2^{31}-1]。如果这个题给出X

2016-08-11 19:37:15 486

原创 POJ3207

Problem : Ikki’s Story IV - Panda’s Trick Description : 有N个点顺时针排列围城一个圆形,现在在某两个点之间连边,边可以在圆形的内部,也可以在外部,但是唯一要求的是所有的边不能相交。现在问你这个东西可能不。Solution : 2−SAT2-SAT问题。关键还是在于建边。我们还是要扣住2-SAT问题的关键,变量取值的二面性,那么这

2016-08-11 18:10:34 506

原创 POJ3678

Problem : Katu Puzzle Description : 问存不存在一个布尔型序列XX使得这个序列中的第iki_k和第jkj_k通过一个位运算得到一个值vkv_k。Solution : 2−SAT问题2-SAT问题,挺裸的。不过要注意‘&, |, ^’这三个位运算符号的建边,这个我会在稍后的博客中详细说明的。 Code(C++) : #include <stdio.h>

2016-08-11 17:58:19 488

原创 POJ2942

Problem : Knights of the Round Table Description : 有N个要围着圆桌武士开会,敌对关系的武士不能坐在一起。而且,一个桌子上的武士人数必须是奇数。现在问你最少要开除多少武士才能开会。Solution : 点双连通分量+二分图奇圈判定+标记。这个题目我参考了这位大牛的博客和刘汝佳的书。 首先我们要建立补图,把能坐在一起的武士连边。然

2016-08-10 10:55:26 602

原创 POJ1734

Problem : Sightseeing trip Description : 有一个旅行机构要设计一条旅行路线,这条路线要从一个地点出发最后回到这个点,而且路径长度要最短。 Solution : 裸最小环。参考最小环算法。 Code(C++) : #include <stdio.h>#include <string.h>#define MIN(a,b) ((a)>(b)? (b):(a)

2016-08-08 09:56:36 450

原创 最小环

算法: 在一个图中求出一个路径长度最小的环。首先,我们可以想到迪杰斯特拉算法,计算出dis[src,i]dis[src,i]+map[i][src]map[i][src],然后维护一个最大值就好了。但是这样做的话,在计算dis[src,i]dis[src,i]时有可能会把map[i][src]map[i][src]包含进去,那么怎么办呢,我们可以枚举每一条边,先删掉,然后求dis[src,i]d

2016-08-08 09:52:27 791

原创 POJ3197

Problem : Continuous Fractions Description : 把一个假分数写成图中的形式。 Solution : 大数+模拟。小心就好。确定好图的尺寸和分数线的长度就好了。 Code(JAVA) : import java.math.BigInteger;import java.util.Scanner;public class Main { static

2016-08-06 18:36:06 439

原创 POJ1204

Problem : Word Puzzles Description : 给你一个矩阵的字母,然后再给你一些单词,让你求这些单词在矩阵中的位置。 Solution : 字典树+深搜。其实循环都可以,没必要深搜,但是深搜写起来简单,也过了。这个题我们要颠覆下字典的概念,按照我们之前的观念,这个矩阵中的字母就是字典。但是这样,工作量将会非常大,我们要枚举所有矩阵中所有可能的单词,然后建字典树。但是如

2016-08-06 16:41:39 625

原创 POJ1122

Problem : FDNY to the Rescue! Description : 有一个矩阵,里面有一个地方着火了,现在有几个消防点,要你求出他们到这个着火点最短时间,并且输出路径。 Solution : 迪杰斯特拉+输出路径,很裸,注意细节就好,当着火点和消防电一样时,路径只需输出着火点。这个地方WA了一次。 Code(C++) : #include <stdio.h>#includ

2016-08-06 10:24:18 640

原创 POJ2325

Problem : Persistent Numbers Description : 给你一个大整数A,要你求一个最小的整数,使得你求的整数的各个位置上的数字的乘积等于给出的A。 Solution : 大整数+贪心+排序。既然要求的数的各位上的数字乘积要等于A,那么我们就一位一位来剥离这个数字,所以这里要用到出发,但是,题目要求最小,如何才能最小,首先得位数最小,其次字典序最小。我一开始想在模拟

2016-08-06 10:17:54 650 2

原创 HDU1569

Problem : 方格取数(2) Solution : 同 HDU1565,只不过数据范围大了点,输入有些不同而已! Code : #include <stdio.h>#include <string.h>#include <iostream>#include <string>#include <queue>#define MIN(a,b) ((a)>(b)? (b):(a))using

2016-08-05 17:28:49 526

原创 HDU1565

Problem : 方格取数(1) Solution : 奇偶建图+最大点权独立集。其实这个题一看就类似二分图。那么我们就按照二分图建图,然后用网络流的方式连边,构造最小点权覆盖集,这里的边很明显,只要相邻就连边就好了,权值设成无穷大。同样的题:(HDU1565)[] Code : #include <stdio.h>#include <string.h>#include <iostream

2016-08-05 17:25:59 492

原创 POJ3308

Problem : Paratroopers Description : 有一个矩阵,里面有一些伞兵,现在每一行都有价格不一样的炮弹,它能打一整行或一整列的目标,现在问你至少要多少花费才能消灭所有的伞兵。 Solution : 最小点权覆盖集。这个题和POJ3041差不多,那个题目也可以用今天这种网络流的方法做,只不过是改一下边的权值就好了(改成1)。伞兵就看成二分图中边。那么从源点到每行连一

2016-08-05 15:33:48 429

原创 POJ3469

Problem : Dual Core CPU Description : 有两个CPU,现在N个工作要进行,两个CPU对于不同的工作都有不同的花费,有一些特殊的要求:有些工作如果不在同一个CPU进行,那么就要花费额外的代价。问你完成这些工作最少需要多少钱。 Solution : 最小割。源点向目标点连边,权值为花费,目标点向汇点连边,权值为花费,然后目标点向目标点连双向边,表示两个工作如果不在

2016-08-05 10:12:03 951

原创 POJ1273

Problem : Drainage Ditches Descripition : 有一天下雨了,然后从1到N排水,有M条通道,每条通道有一个最大排水量,现在问你最多能排多少水。 Solution : 裸最大网络流。 Code(C++) : #include <stdio.h>#include <string.h>#include <iostream>#include <string>#

2016-08-05 09:37:49 302

原创 POJ3422

Problem : Kaka’s Matrix Travels Description : 有一个人要在从矩阵的左上角走到右下角K次,他只能向下或者向右走,且矩阵中的每个格子有着自己的分数,第一次到达后可以拾取这个分数,随后到达的时候就没有分数了,问这个人K次之后能拾取的最大分数是多少。 Solution : 最小费用最大流。这个题类似POJ2135不过,这个题不同的是,一个点可以走多次,而且第

2016-08-05 09:19:35 819

原创 POJ2135

Problem : Farm Tour Description : 给你一个图,让你求一条最小的路径从1到N再回到1。边不能重复走。 Solution : 最小费用最大流。用这个算法解题要明确流量是什么,费用什么。要不要拆点,边该怎么连,容量和费用设置多少合适。把这些东西明确了,这个题目也就可以做了。从1到N的最小路径可以直接最短路算法,那么从N到1也可以最短路算法,只要把边取反就好了,网络流中

2016-08-04 19:59:42 474

原创 MCMF算法

最小费用最大流算法: 以费用作为权值,求出最小费用链,然后在这条链上求得一个最小流量,直到找不到费用链。求最小费用链也就相当于求src−>dessrc->des的最短路径。使用spfa+EKspfa+EK算法。得到MCMFMCMF算法代码:#define MIN(a,b) ((a)>(b)? (b):(a))using namespace std;const int INF=0x3f3f3f3

2016-08-04 15:34:27 2548

原创 POJ1966

Problem : Cable TV Network Description : 求一个无向图的点连通度。 Solution : 拆点+最小割。这几乎是一个模板题。但是数据太逗比了,题中说了:“ Follow m data pairs (u,v), u < v”但是就是存在(1,1)这种类型的边。WA了一天才发现这个问题,如果存在这种边,就会导致拆点失败!。说说如何求无向图的点连通度吧。我们可以

2016-08-04 10:13:11 718

原创 POJ3268

Problem : Silver Cow Party Description : N个农场,里面有奶牛,现在在其中的一家农场要举行一个party。问这N个农场的牛去这个party的时间和回家的时间的和的最小值的最大值。 Solution : 跑两遍迪杰斯特拉算法。第一遍得到每个奶牛回家的最短时间,第二遍把所有边取反。得到每个奶牛去party的时间。最后维护一个最大值就好了。 Code(C++)

2016-08-03 21:49:29 311

原创 POJ1426

Problem : Find The Multiple Description : 给你一个数,然后让你求出这个数的一个倍数,这个倍数只能由十进制的0和1组成! Solution : bfsbfs,大家可能看到了discuss中都用了long long来进行广搜,那么如果你不知道这个答案在long long的范围内,如何来做这个题,我觉得大家可能都会觉得在输出的地方有点困难,所以,这也是一道bf

2016-08-03 21:24:59 303

原创 POJ1815

Problem : Friendship Description : 一些人之间可以相互联系,但是当一个人出事后,那么与他有联系的人都会和他失去联系,同样,人与人之间的联系具有传递性,那么现在给你两个人,问你最少多少个人出事才能使得这两个人失去联系,注意,这两个人不可能出事。 Solution : 这是一个典型的求割点数目的问题,然而割点又可以通过拆点转化成割边来做,那么这个题就成了求最小割的问

2016-08-03 10:12:47 554

原创 SQL_电力抢修工程插入数据语句

代码:--salvaginginsert into salvaging(prj_num,prj_name,start_date,end_date,prj_status) values('20100015','220KV清经线接地箱及接地线被盗抢修','10/12/2010 00:00:00','10/13/2010 00:00:00',1);insert into salvaging(

2016-08-02 21:07:02 1766

原创 SQL_电力抢修工程数据库的建表语句

数据表:salvagingsalvaging,stockstock,outstockout_stock 关系模式: salvaging(prj_num#,prj_name,start_time,end_time,prj_status)stock(mat_num#,mat_name,speci,warehouse,amount,unit,total)out_stock(prj_num,mat_nu

2016-08-02 21:01:45 2433

原创 POJ3281

Problem : Dining Description : 有一些奶牛,他们都有自己喜欢的一些食物和饮料。要你求最多有多少头奶牛既拿到自己喜欢的食物也拿到自己喜欢的饮料。一种食物或饮料只能提供给某一头奶牛,而一头奶牛也只能享用一种食物或一种饮料。 Solution : 网络最大流。如果能想到网络最大流,那么就能想到怎么构图了,既然既要拿到食物也要拿到饮料,那么我们就把奶牛放到食物和饮料中间,这

2016-08-02 09:32:24 323

原创 POJ2112

Problem : Optimal Milking Description : 有一些奶牛和一些挤奶点。每个挤奶点有规定服务奶牛的数目M。现在每个点到每个点之间都有距离,现在要你求出奶牛到挤奶点的最大距离在所有情况中的最小值。输入保证会有解。 Solution : 基本上和POJ2391一样,不过,这个题不用拆点,这个题建了图后并不是每个点都可以互相到达的,所以不用拆点。本来这个题我想用二分图的

2016-08-01 14:47:24 371

原创 POJ2391

Problem : Ombrophobic Bovines Description : 有N个点,每个点都有一些老鼠和一些能容纳老鼠的地方,现在,下午了,老鼠要在规定时间内都找到自己的容纳点,每个点到每个点都有一定的到达时间,现在问你最少要多少时间才能完成这项工作,如果不能完成,输出“-1”。 Solution : Floyd+二分枚举+网络最大流。这题是我的一个学习题。感觉网络流的应用真的是太

2016-08-01 14:37:52 651

蘑菇街2016研发工程师在线编程题 - 题解

蘑菇街2016研发工程师在线编程题 - 题解 个人的解答,不喜勿碰.

2017-10-03

2017CSUFT第十届ACM程序设计大赛

题目、题解、数据、代码都有

2017-05-21

gdb官方使用手册

2016-12-01

凸包做题模板

POJ上做的一个凸包的题,可作为凸包的模板。

2016-03-19

CSUFT_ACM日常上课安排

提供我们协会日常上课安排

2016-03-19

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

TA关注的人

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