简单
文章平均质量分 66
Tri_integral
这个作者很懒,什么都没留下…
展开
-
UVAlive 5864 Register Allocation 题解
题目题意:有一些事件,已知发生的时间段(闭区间)。如果两个事件发生的时间没有交集,则可以安排在同一天,求至少要几天。题解:将所有事件插入set中,一个事件发生后,选择第一个在它结束后发生的事件,如果没有,开始新的一天。//Time:26ms//Memory:0KB//Length:1047B#include #include #include #includ原创 2013-07-21 22:15:31 · 885 阅读 · 0 评论 -
poj-openjudge 1043:Bomb! 解题报告
题目2013北大校赛总结题意:有很多个炸弹,爆炸半径相同,如果一个爆炸那么所以在爆炸半径内的炸弹也爆炸。现在要引爆第一个炸弹,使得某个特定的炸弹爆炸,问所需最小的爆炸半径。解法:二分爆炸半径,然后BFS是否能炸到要炸的。Time:120msMemory:2364kBLength:1270 B#include #include #include #原创 2013-05-18 00:24:32 · 1061 阅读 · 0 评论 -
HDU 4619 Warm up 2 解题报告
题意:给定1×2的多米诺骨牌,放在平面上,可以水平放也可以竖直放,保证水平和水平的之间不重叠,竖直和竖直的不重叠,但水平和竖直的可能重叠。拿走一些牌使它们,不重叠,求平面上最多可以剩张牌。解法:在重叠的牌之间连边构成二分图,有边相连说明至多只有一张牌能留在平面上。YY出来的结论是,用总牌数减去最大匹配即为所求。//time 31MS //memory 1332K#include #i原创 2013-07-25 19:05:53 · 1235 阅读 · 0 评论 -
UVALive 5864 Register Allocation 解题报告
题意:给出平面上n个点的坐标,给出起点和终点,找出一条路径使得起点到重点的经过的最长边最短,并输出这个最短的值。解法:二分长度+bfs判断是否可以到达//112ms#include #include #include #include #include #include #include const int maxn = 1005;using namespace std;原创 2013-07-23 20:32:21 · 932 阅读 · 0 评论 -
UVALive 6179 Windmill Animation 解题报告
题意:给定平面上n个点的坐标,在一个点上放一条直线,并给出直线的方向,将直线以该点位轴逆时针转,遇到下一个点时,就以这个点为轴逆时针转动。按顺序输出前m次遇到的点的序列。解法:有atan2计算点和坐标轴的夹角,在[-pi,0]的点变成[pi,2*pi]。找逆时针方向上距离当前直线最近的点就可以了。值得注意的是旋转的是直线不是射线,所以>pi的要减去pi#include #include原创 2013-07-21 01:25:24 · 912 阅读 · 0 评论 -
UVaLive 6038 - Grandpa's Walk 解题报告
题目BUPT Spring Training 6 4.06题意:一个n*m的矩阵,元素为雪地高度,假如从一个点出发,沿四方向数值严格下降的顺序到另外一个点,且起点周围没有更高的,终点周围没有更低的,则是一条路。求有多少条这样的路。解法:首先初始化,假如一个点可以作为起点则dp[i][j]=1。然后对将所有点排序,从大到小对所有小于它的点进行转移,如果一个点是终点则将值加到答原创 2013-05-23 11:56:39 · 940 阅读 · 0 评论 -
FZU 1913 Easy Comparison 解题报告
题意:字符串排序后不再自己位置上的有几个解法:sort……//Memory: 228 KB //Time: 0 MS#include #include #include #include using namespace std;int a[4];int main(){ //freopen("/home/moor/Code/input.txt","r",std原创 2013-05-20 22:38:32 · 735 阅读 · 0 评论 -
POJ 4045 Power Station 解题报告
题目题意:有一个树形电网,要在某个节点建一个发电站,传输损耗是 I^2*Ri,Ri是总的电阻, 跟到各点距离总和有关。I是常数。问最小的损耗,并输出最优的节点。解法:DFS两次统计每个点到其它点的距离总和即可。Time:125msMemory:5216KBLength:2039B#include #include #include #include原创 2013-05-19 12:58:28 · 923 阅读 · 0 评论 -
SPOJ AMR12I Saruman of Many Colours 解题报告
题目题意:一段区间,每次可以选择长度恰好为K的子区间涂色,求涂成目标状态的最少次数,不能的话输出-1.题解:仔细想想就发现是全场最水题……显然因为区间是固定的,所以不连续的同一种颜色不可能是同以此涂的。如果一个长度至少为K的同颜色的区间都没有,就是-1.否则就是同一种颜色且长度不超过K的区间数。//Time:0ms//Memory:3277KB//Length:791B#原创 2013-08-04 14:05:39 · 1186 阅读 · 0 评论 -
CodeForces 293A Weird Game
题目题意:AB各有长度为2n的01串,每次轮流在1~2n里选一个之前双方没选过的数,那么他可以得到他的串里对应位置的数字。最后AB各得到n个数字,他们将其任意排列后做比较。若双方都是最优策略,求谁会赢。题解:如果一个位置双方都是1,那么优先选这个。由于A先手,所以A取完他能取的1后,若B刚好还有1个1,那么A可以取走对应位置的0,所以双方1的个数相等。//Tim原创 2013-08-09 20:29:41 · 922 阅读 · 0 评论 -
HDU 4493 Tutor 解题报告
通化邀请赛题意:给你十二个月的收入,输出平均值,四舍五入到两位小数,去掉尾0(要是没有小数部分就不要小数点)。解法:暴力……一开始估计数据有问题,所有交的人都WA了,后来rejude就过了。#include #include using namespace std;double mon[12];char str[100];long long getnum()原创 2013-05-30 19:06:44 · 2025 阅读 · 0 评论 -
HDU 4496 D-City 解题报告
通化邀请赛题意:一个图去掉几条边,问还剩多少个连通块。解法:倒着做并查集,或者正着做bfs也可以。#include #include #include #include using namespace std;#define maxn 10005#define maxm 100005int n, m;int f[maxn];int ans[maxm]原创 2013-05-30 19:08:42 · 2157 阅读 · 5 评论 -
UVALive 5789 Army Buddies 解题报告
题目题意:s个士兵排成一列,每次有L到R这些原本健在的士兵死亡,求L-1到1第一个还活着的士兵的编号,以及R+1到s第一个活着的士兵的编号,不存在则输出*。题解:方法一:用并查集,将两种查询分开,如第一个并查集,L到R合并在一起,根为L,表示L+1到R这些人都死了,且R+1和L还活着,那么L到1第一个还活着的士兵自然是L。由于每个士兵只修改一次,所以是O(N)的。方法二:原创 2013-09-01 20:25:50 · 1248 阅读 · 0 评论 -
UVA 12589 Learning Vector 解题报告
题目题意:有一些向量,选择K个将它们首尾相接,并且一端固定在原点上。求和X轴包围起来的面积。题解:对于选定的k个向量,肯定是按照斜率从大到小接在一起,由于向量的长度小,所以可以用背包,dp[i][j]表示最右的y坐标为i及选了j个向量的最大面积。//Time:732ms//Length:1095B#include #include #include #incl原创 2013-08-27 21:43:37 · 1434 阅读 · 0 评论 -
Aizu 1316 The Sorcerer's Donut 解题报告
题目题意:一个n×m的字符矩阵,上下相接左右相接。可以从某个格子出发,选定八方向的一个,保持这个方向不变得到任意长度的连续的字符串(当然同样位置不能选两次)。求最长的、字典序最小的、出现两次及以上的字符串。题解:暴力枚举起点和方向,哈希判重。//Memory:7872KB//Length:1305B#include #include #include #inc原创 2013-09-05 20:09:16 · 1098 阅读 · 1 评论 -
HDU 4709 Herding 解题报告
题意:给定平面上n个点,n解法:面积最小的多边形肯定是三角形。所以n^3的枚举点就可以//Time125MS //Memory 300K#include #include #include #include #include using namespace std;const int MAXN= 205;const double EPS = 1e-8;const dou原创 2013-09-12 09:39:06 · 927 阅读 · 0 评论 -
ZOJ 3429 Cube Simulation 解题报告
题目题意:三维空间上定义了一些操作,就不翻译了……求每个询问操作的结果题解:本来以为很难,后来发现三个坐标是独立的,所以做到当前操作时,可以维护一个映射关系,原本的xi现在应该在xj,就可以直接求了。难怪过的人最多//Time:110ms//Memory:204KB//Length:1354B#include #include #include #i原创 2013-09-27 22:09:46 · 902 阅读 · 0 评论 -
ZOJ 3427 Array Slicing 解题报告
题目题意:类似于python的切片操作,每次会告诉你将某个区间用某些数字代替,代替前输入这个区间内的数。题目很恶心,没说格式问题,输入中数字可能使用空格隔开也可能是用逗号隔开,而且不一定像它给的,逗号后面还有空格,所以要注意这个问题。//Time:0ms//Memory:23720KB//Length:1191B#include #include #inclu原创 2013-09-27 22:05:24 · 910 阅读 · 0 评论 -
poj-openjudge 1039:Keine's Problem 解题报告
题目2013北大校赛总结题意:有一个记录表,记录学生进或者出教室。但是现在表上的名字看不清了,只知道某两条记录是有联系的,这两条记录属于同一个学生(下面称为特殊学生),前者为进后者为出,且其间没有其它记录属于这个学生,问原表有多少种可能。解法:可以维护一个lef和inside,分别表示教室外的所有学生数量和教室内不是特殊学生的人数。进来时方案*lef,如果是不是特殊学生则+原创 2013-05-18 00:45:40 · 1025 阅读 · 0 评论 -
FZU 1920 Left Mouse Button 解题报告
题意:告诉扫雷的所有规则,主要是成片消去雷的规则,即一块四周都没有雷的地方会消失,直到周围有雷,周围有雷的地方会留下一个数字,表示周围八个方向雷的总个数。还给出了雷的分布。问至少点击几次鼠标左键,可以找出所有雷。解法:bfs。找出全为0的区域的块数a1,给边界上的数字做上标记,再统计没被标记的非0数字个数a2, ans = a1+a2//Memory: 236 KB //Time:原创 2013-05-20 22:52:23 · 799 阅读 · 0 评论 -
poj 3774 Elune’s Arrow 解题报告
题意:从一个点发出一支箭(一条射线)射击指定敌人,箭在碰到敌人会停止。给出方向和人所在位置,问是否能击中指定目标。解法:纯纯的几何……判线段相交和距离就好了。如果射线和除了目标以外的点有交点并且两点之间的距离小于射线和目标的距离,也要输出MISS#include #include #include #include #include #include #include u原创 2013-05-22 00:58:56 · 890 阅读 · 0 评论 -
UVAlive 5863 Probability Computation 题解
题目题意:一个n位的二进制数x,已知每一位为1或0的概率,求x mod q==r的概率。题解:以dp[i][j]表示i位及i位之前的数模q为j的概率,那么转移时向加0和加2^i转移,最后dp[n][r]为答案。 //Time:9ms//Memoty:0KB//Length:1019B#include #include #include #include原创 2013-07-21 22:37:40 · 1009 阅读 · 0 评论 -
HDU 4639 Hehe 解题报告
题目2013 暑假多校训练 4总结题意:一个字符串,“hehe”可以由“wqnmlgb”来代替,所以问这个字符串有多少种解法。题解:dp[i]表示1~i+4这一段有多少种理解,所以如果str[i]="hehe.....",那么dp[i]+=i-4>=0?dp[i-4]:1。//Time:0ms//Memory:304KB//Length:#include原创 2013-08-01 17:52:36 · 667 阅读 · 0 评论 -
ZOJ 3691 Flower 解题报告
题意:给出n个点的三维坐标,每个点上有f盆花,每个点至多只能运出l盆花(有些花是从别的点运到这个点的),只有距离小于r的点可以相互运输,问r最少为多少,可以让所有点的花都运到第一个点上。解法:最大流。把一个点拆成两个aa‘,连容量为l的边,从原点向a连容量为f的边,距离小于r的两点连容量为inf的边。由点1向汇点连边。//Memory: 3824 KB //Time: 280 MS#原创 2013-07-27 19:27:01 · 985 阅读 · 0 评论 -
UVALive 6047 Perfect Matching 解题报告
题目BUPT Spring Training 6 4.06题意:有一些字符串,多少对字符串可以拼成一个回文串?解法:哈希。原创 2013-06-10 22:41:49 · 1082 阅读 · 0 评论 -
UVAlive 6040 Stop Growing! 解题报告
题目BUPT Spring Training 6 4.06题意:ABCDE五个数,告诉你每轮各自的变化,问什么时候总和能超过M解法:说得胡里花哨,其实就是每轮总和倍增。//Time:9ms//Memory:0KB///Length;879B#include #include #include #include #include #include u原创 2013-06-10 22:28:16 · 1175 阅读 · 0 评论 -
ZOJ 3713 In 7-bit 解题报告
题目题意:给你一些可能包含空格的字符串,对于每个串,计算它的长度,用7位二进制表示,若7位能放完,则第8位为0,否则第8位为1,7位为低7位,然后长度右移7位,继续用7位二进制表示。最后将转换后的长度和原字符串用16进制输出。解法:只要读懂了题意,就暴力……//Time: 350ms//Memory: 3116KB//Length: 619B#include #incl原创 2013-05-30 20:09:48 · 1299 阅读 · 0 评论 -
ZOJ 3706 Break Standard Weight 解题报告
题目题意:两个正整数的砝码,把其中一个分成正整数的部分,用这三个砝码能称量哪些重量(正整数)。解法:枚举分哪个、分成多少,dfs搜。//Time:0ms//Memory:188KB//Length:974B#include #include #include #define MAXN 310#define INF 1000000000using namesp原创 2013-05-30 19:57:43 · 1072 阅读 · 0 评论 -
ZOJ 3714 Java Beans 解题报告
题目题意:n个数,成环,求连续m个数总和的最大值。解法:暴力。//Time:0ms//Memory:196KB//Length:599B#include #include #define MAXN 2010#define INF 1000000000using namespace std;int num[MAXN];int main(){ //fre原创 2013-05-30 19:54:29 · 915 阅读 · 0 评论 -
ural 1692 Flags for Provinces 解题报告
题意:给k种不同颜色,制作旗子,任意两面旗至少要有一种颜色相同,且一种颜色最多用两次,问最多可以制作几面不同的旗,并输出颜色解法:相当于是找完全图。要制作n面旗,至少需要n*(n-1)/2种颜色,然后暴力枚举就是了//373 KB //31 ms #include #include #include #include #include #include #inclu原创 2013-05-23 22:57:36 · 859 阅读 · 0 评论 -
FZU 1909 An Equation 解题报告
题意:给出四个数,如果任意两个之和可以等于另外两个,输出yes,否则输出no解法:暴力……//Memory: 228 KB //Time: 0 MS#include #include using namespace std;int a[4];int main(){ //freopen("/home/moor/Code/input.txt","r",stdin);原创 2013-05-20 22:34:50 · 759 阅读 · 0 评论 -
POJ 4044 Score Sequence 解题报告
题目题意:给你两个等长序列,递减顺序排序后,去重,找出最长公共子序列,若有多个则取最大数最大的。然后按个位大小排序,个位相同按数的大小排序。解法:暴力。#include TIme:0msMemory:704KBLength:1932B#include #include #include #include #include #include #in原创 2013-05-19 12:52:03 · 877 阅读 · 0 评论 -
poj-openjudge 1041 For Short 解题报告
题目2013北大校赛总结模拟题,改写文本,单词只保留首字母并大写,其他字符保留,空格则全部删去。Time:0msMemory:252kBLength:867 B#include #include #define MAXN 10010using namespace std;char str[MAXN];int main(){ //freopen("C原创 2013-05-18 00:16:32 · 886 阅读 · 0 评论 -
SPOJ AMR12B Gandalf vs the Balrog 解题报告
题目题意:读了好久才明白它要干嘛……有1~N种魔法,一般编号大的赢编号小的,但是有M对是编号小的赢编号大的,没有传递性。A先选一种魔法,如果接下来B无论选哪个都输给A,则输出2和A选的魔法编号。如果A被B选的魔法打败了,而他能再选一种来打败B选的(B还用那个),那么输出1.否则输出0.假设A和B都是按最优策略选魔法,而且同一种魔法只能选一次。题解:假如一种魔法不回被原创 2013-08-04 13:48:37 · 1055 阅读 · 0 评论 -
SPOJ AMR12G The Glittering Caves of Aglarond 解题报告
题目题意:一些‘.'和'*'组成的矩阵,每次可以翻转一行,使得该行的‘.'和'*'互相转换,求恰好转K次后最多的'*'。题解:将行分两类:*比.多的和少的。将少的排序,那么优先翻转使得*增加多的。如果翻完后还没翻够,如果是偶数就相当于不用再翻,否则翻一次使得*减少最少的。//Time:0ms//Memory:3277KB//Length:1062B#include原创 2013-08-04 13:41:23 · 1056 阅读 · 0 评论 -
HDU 4617 Weapon 解题报告
比赛题目题意:给出空间中n个圆,院由圆心和圆上两点确定,且三点不共线,圆可以往两面延伸形成无限长的圆柱。问是否有圆柱相交,如果不相交,输出最短距离。解法:用叉积求出所有圆柱轴线,然后计算直线间的距离是否大于两个圆柱半径之和来判断。听说可以用纯数学的方法,但我不会。//time:15MS //memory:288K#include #include #include #in原创 2013-07-26 16:20:56 · 1076 阅读 · 0 评论 -
UVALive 5862 City Travel 解题报告
题意:给n个点m条边的图,每条边有等级,不能连续走两条等级相同的边,求s到t的最短路。解法:最短路的变形,用二维的spfa,dist[i][j]表示经过等级为j的边到点i的最短路。但初始化的时候要注意是把dist[s][0]放进队列。//time 29ms#include #include #include #include #include #include using n原创 2013-07-23 20:26:52 · 924 阅读 · 0 评论 -
ZOJ 3721 Final Exam Arrangement 解题报告
题目题意:有一些考试,已知开始时间和结束时间,左闭右开,如果考试时间有重叠,则可以安排在同一天。求最少要安排几天,以及方案。题解:将时间点排序,从小到大排序,若有考试开始,则加入队列;若有考试结束,则将队列中的全部考试都安排在一天。//Time:900ms//Memory:3508KB//Length:1453B#include #include #include原创 2013-07-01 18:24:15 · 1560 阅读 · 0 评论 -
HDU 4814 Golden Radio Base
题意:将一个十进制的正数装换成phi进制的数。解法:比赛的时候太二,没有发现十进制数可以等于一个phi进制数,而不是约等于。这个想想就知道,因为一个十进制的数肯定可以表示成n*(phi^0),于是显然可以化简成一个规范的phi进制数。利用题目中给出的公式和hint可以得到两个有用的公式:phi^(n) = phi^(n-1)+phi^(n-2)2*(phi^n) = phi^(n+1)原创 2014-01-22 17:10:28 · 2072 阅读 · 0 评论