自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Ruby Gem Timeout【超时】问题的解决

使用gem install的时候会显示类似下面的错误:ERROR: Could not find a valid gem 'fusuma' (>= 0), here is why: Unable to download data from https://rubygems.org/ - timed out (https://rubygems.org/specs.4...

2019-09-07 10:41:06 2997

原创 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest H题

题目链接在这里题目大意:你要和电脑玩剪子包袱锤,你和电脑出的序列是固定的,比如你出的永远是RRRS,电脑永远出的是RRRRRRRRSSSS。你可以选择在电脑出第i轮时开始正式比赛,求你最多能获胜多少次。比如如下这个情况:电脑:RSPPSSSRRPPR你:RRRR在如下情况的时候,你赢的次数是最多的题目分析:设a表示电脑的序列,b表示你的序列,将电脑序列中你能...

2019-04-06 19:43:48 327

原创 poj 2892 Tunnel Warfare 线段树

题目链接在这里题目大意:一条直线上有n个连续的村庄,对村庄有m个操作,操作有3种:D x,将x村庄摧毁Q x,询问和x村(包括它自己)相连的村长有多少个R 恢复最后一个被摧毁的村庄思路分析:用线段树保存村庄的状态在叶子中维护三个变量:llong, rlong, midlong(名字是我瞎起的),分别代表左端点开始有多少个村庄相连、从右端点开始有多少个村庄相连、在这一...

2019-02-02 14:46:42 175

原创 hdu4027 Can you answer these queries? 线段树

题目链接在这里题目描述:有n个数,m次操作,每次操作给出x y z三个数,规则如下:若x == 0,则将[ y ,  z ]区间的数开平方根(向下取整)若x == 1,则将[ y , z ]区间的和求出来。思路分析:这是个并查集问题,每次更新的时候将子节点开平方就可以了。但是值得注意的是,当值已经为1的时候,再开平方根已经没有意义了,所以优化一下,若某个节点值 == 最...

2019-01-31 18:04:07 171

原创 poj3264 Balanced Lineup 线段树

题目链接在这里题目描述:给出n个数q次询问,每次询问求[ x, y ]区间最大的数减去最小的数的结果。思路分析:用线段树的每个节点存储子节点的最大数和最小数,叶子节点的最大数和最小数是自己。代码如下:#include <cstdio>#include <cstring>#include <algorithm>#include &l...

2019-01-30 17:12:14 160

原创 zoj1610 Count the Colors 线段树

题目链接在这里题目描述:在一条直线上画不同颜色的线段,给出各线段的起点、终点和颜色,求画完之后,最终会有几种颜色,每个颜色有多少条线段。思路分析:我们用线段树保存各点的颜色,区间更新,最后query一下就好。注意题目给的是线段的起点和终点,是连续的。如果想用离散的表示的话,就让起点+1,代表一段。代码如下:非结构体:#include <cstdio>...

2019-01-29 21:33:21 130

原创 hdu1698 Just a Hook 线段树【区间更新】

题目链接在这里题目描述:在[1, n]区间有金属棍,棍的材料有三种,每种有不同的价值。现在有q种操作,每种操作有x y z三个数,意思是[ x,  y ]区间上的金属棍的价值置为z。求q次更新之后,整个区间的总价值是多少。思路分析:这是个区间更新操作,如果用暴力更新的方法肯定会超时,所以考虑用线段树。代码如下:#include <cstdio>#incl...

2019-01-27 16:51:20 140

原创 poj2528 Mayor's posters 线段树+离散化

题目链接在这里题目大意:在墙上贴海报,每张海报占据[l, r]区间,海报之间可能存在覆盖。问所有的海报贴完之后,能有几张海报可以被看到。解题思路:如果暴力扫一遍的话肯定会超时,所以应该用线段树。但是区间太大了,所以要考虑离散化。普通的离散化有问题,这里参考了一位博主的博客进行离散化。我一直RE,数组开打了4倍才AC的,如果有RE的同志记得开大数组试试。代码如下:#...

2019-01-27 14:44:06 131

原创 poj3468 A Simple Problem with Integers 线段树【区间更新】

题目链接在这里题目描述:有n个数m个操作,操作有两种:1.Q x y 查询区间[x, y]的和2.C x y z 区间[x, y]中的每个元素增加z思路分析:运用线段树维护点的信息,在区间更新的时候lazy思想在节点上mark一下。代码如下:#include <cstdio>#include <cstring>#include <...

2019-01-25 18:07:49 127

原创 hdu1754 I Hate It 线段树

题目链接在这里题目描述:给出n个数,m次操作。操作有如下两种:1.Q x y,查询在[x, y]中最大的数2.U x y,将x点更新为y题目思路:用线段树维护[1, n]区间,单点更新区间查询。代码如下:#include <cstdio>#include <cstring>#include <iostream>#inclu...

2019-01-25 09:21:52 96

原创 hdu1166 敌兵布阵 线段树

题目链接在这里题目大意:给出n个点的值,有三种操作:Query x y代表查询[x, y]之内的值的加和Add x y代表x点增加ySub x y代表x点减小y思路分析:裸的线段树,盘它!代码如下:#include <cstdio>#include <cstring>#include <iostream>#includ...

2019-01-24 20:48:23 114

原创 hdu1875 畅通工程再续 最小生成树

题目链接在这里题目大意:相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米。当然,为...

2019-01-23 19:11:43 120

原创 poj1251 Jungle Roads 最小生成树

题目链接在这里题目大意:村与村之间有道路相互连通,维护道路的费用太高了,因此村里的长老决定只维护其中的一部分,并且这维护的部分仍能使村之间连通。求维护的最小成本是多少。思路分析:很容易想到这是求最小生成树的问题,只是对输入的处理可能有一丢丢麻烦。搞定输入之后,把最小生成树莽出来就行了。代码如下:#include <cstdio>#include <cs...

2019-01-23 16:04:35 209

原创 hdu1233 还是畅通工程 最小生成树

题目链接在这里题目大意:某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。(我就直接把题目描述搬过来了)思路分析:裸的最小生成树,盘它。代码如下:#include <cstdio&...

2019-01-23 11:37:20 150

原创 poj1679 The Unique MST 次小生成树

题目链接在这里题目大意:有n个点和m条边,问这m条边构成的最小生成树是不是唯一的。思路分析:看最小生成树是不是唯一的,就先构造一棵最小生成树,将它所用到的边都记录下来,删掉其中一条边,看用其它的边还能不能再构造一棵最小生成树。代码如下:#include <cstdio>#include <cstring>#include <iostrea...

2019-01-23 11:24:38 134

原创 poj3026 bfs+最小生成树

题目链接在这里题目大意:一群人从起点S开始找外星人,#代表墙壁,A代表外星人。问把所有的外星人找到最少需要多少步。思路分析:对每一个为A或者S的点进行bfs,算出来和其它点的最短距离。然后把这些两两之间的距离当成边,构造最小生成树。注意!!!1.题目先输入了列数再输入了行数。2.将列数行数输入完之后要gets一下空格!我用的getchar()没用,wa掉了。3.数组...

2019-01-22 21:14:19 349

原创 poj1258 最小生成树

题目链接在这里题目描述:John要给村民通宽带!他现在已经有了一个高速网络了,现在想将村民相互连接起来。现给出村民之间的距离,求将他们连接起来的最小花费为多少。思路分析:最小生成树,盘它就完事了。代码如下:#include <cstdio>#include <cstring>#include <iostream>#include ...

2019-01-21 17:42:14 184

原创 poj1751 最小生成树

题目链接在这里题目描述:有N个乡村,每个乡村的地理位置由二维坐标系表示出来。现已建成M条道路,问还需要在哪些村之间铺路使得村之间相互连通。铺路的成本与村与村之间的距离成正比。思路分析:我用的Kruskal方法建立最小生成树,输入M条边时,将这些边连接的两顶点用并查集连接起来。然后暴力算出乡村之间两两的距离,从小到大排序之后扫一遍建边就ok了。注意的是,M可能是大于N的,当然这并...

2019-01-21 17:06:26 237

原创 poj2349 最小生成树

题目链接在这里题目大意:要将p个居民连接起来使他们可以通话,现在有s个卫星设备,拥有卫星设备的居民之间可以任意通话,其他的居民只能在距离D之内进行通话。现在给出p个居民的坐标,求D最小为多少。解题思路:s个卫星最多可以构成s - 1条边。我们暴力算出来居民之间两两之间的距离,然后构建一个最小生成树。将最小生成树用到的边存起来并从大到小排个序,前s - 1个边就用卫星通话就行了,第s...

2019-01-20 16:09:08 185

原创 poj1789 最小生成树

题目链接在这里题目大意:有n辆卡车,每个卡车有一个编号,编号由七个字母组成。卡车之间的距离是两车字母不同的数量。让你选择一种方式将卡车连起来,使他们的距离总和最小。思路分析:先暴力求出每个卡车之间的距离,然后建立最小生成树就好。代码如下:#include <cstdio>#include <cstring>#include <iostre...

2019-01-19 11:19:52 124

原创 zoj3261 带权并查集

题目链接在这里题目大意n个星球,每个星球有一个防御值,一共有m条路,连接x星球和y星球。现在发生星际战争了,a星球要寻求帮助,它只能寻求比它的防御值大的星球的帮助(相同的防御值的话取下标较小的那个),其中会破坏道路再进行寻求帮助。问每次询问时,某星球该找哪个星球寻求帮助。思路这是一个并查集问题,如果顺着题目的思路来的话,要进行拆边。但是并查集没有拆边的功能,所以我们转换思路,先处理...

2019-01-18 22:13:17 262

原创 poj1586 最小生成树

题目链接在这里题目大意:一个星球之间的居民想相互之间建立联系。建立联系需要每户购买设备,每个设备只能供和一位其他居民联系。居民和居民之间有距离,每个居民购买设备的价格也不一样。问如果让所有的居民之间相互建立联系,最少需要花费多少。解题思路:每个居民之间两两建边,边的权值是两者之间的距离加上每户人家购买设备的价格的总和。然后根据这些边建立最小生成树。代码如下:#includ...

2019-01-17 19:53:53 256

原创 zoj3956 01背包

题目链接在这里题目大意有N门课,每门课有幸福值h和伤心值c,在你选择的m门课中,假设它们幸福的总和为a,伤心的总和为b,请尽力选择课程使得a*a - a * b - b * b最小。思路分析分析上面的式子可以看到,a越大,b越小,整体的值越大。所以我们的思想是,当我们选择的伤心值b确定之后,h越大越好。因为我们考虑到,每门课可以选也可以不选,很容易联想到01背包问题。对于dp[...

2019-01-16 21:16:24 119

原创 poj2421 最小生成树

题目链接在这里题目大意有N个村庄,每个村庄之间都有一定的距离,想建几条路使得村庄之间相互连通,问所需要花费的最小代价是什么。(有的村庄之间是相互连通的)解题思路相互连通的村庄之间的距离置为0,然后将所有村庄之间的距离放到堆里,直接最小生成树莽出来就完事了。代码如下#include <cstdio>#include <cstring>#inclu...

2019-01-16 21:01:28 132

原创 poj2031 最小生成树

题目链接在这里题目大意:在三维空间中给出n个位置,每个位置有一个球,每个球有x, y, z ,r四个参数代表x、y、z轴坐标和半径r。球和球之间的连接在球的表面积上进行。求让它们相互连通所需要的最小的距离。解题思路:把每个球之间相连所需要的距离算出来(就是建边),然后求一棵最小生成树就好了。 注意要用double!!!!用float过不了,把float给define成dou...

2019-01-16 11:58:45 162

原创 poj1287 最小生成树

题目链接在这里题目大意给出N个点,M条边(边有权值),在其中选边使得整个图联通,并且代价最小。解题思路最小生成树,莽就完事了。代码如下#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#include <queue...

2019-01-15 11:38:30 206

原创 zoj3777 Problem Arrangement 状态压缩+动态规划

题目链接在这里题目大意有N(N <= 12)道题,第i个解决的问题是题目j的话,就会得到arr[i][j]分。问解决完所有问题之后,得分能超过M的概率有多少。其中分子是有多少种解决问题的方式,分母是得分大于等于M的方案数。思路分析思路来自另一位博主,我讲得不是很清楚,可以看他的。链接N道题一共有N!种排序,也就是有N!种解决方案,所以分子的问题我们已经解决了。我们考虑...

2019-01-15 11:05:32 153

原创 poj1251 最小生成树

题目链接在这里题目大意:有n个点,下面有n - 1行,每行有一个编号X有一个数字m代表点X和m个其它点相连,然后后面有m个点以及权值。求最小生成树。思路:最小生成树,莽就完事了。代码:#include <cstdio>#include <cstring>#include <algorithm>#include <iostre...

2019-01-13 09:23:55 151

原创 poj1308 简单并查集

题目链接在这里题目大意:给出点和边,问能否构成一棵树思路:用并查集水过去就行了。hdu1272和这道题一样的,就是换了个题面和输出。hdu1272代码如下:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define...

2019-01-13 08:36:07 147

原创 hdu1272 简单并查集

题目链接在这里题目大意:中文题目,自己看吧。思路分析:裸的并查集。。。太裸了。只需要注意只输入0 0的时候输出Yes代码如下:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define rep(i, n) for(...

2019-01-12 19:38:02 109

原创 poj2912 带权并查集

题目链接在这里题目大意有n个学生玩剪子包袱锤,其中有一个人是可以在剪子包袱锤中随意出,另外n-1个学生被分为3组,每一组只能固定出一个固定的(三组出的互不相同)。有m轮比赛。问经过m轮比赛后能不能判断出来谁是裁判。想法这是一个带权并查集问题,除去裁判之外有3类学生。我们可以在n个学生中枚举谁是裁判,比如说1是裁判,那么在m轮比赛里我们就忽略有关学生1的比赛,看剩下的有没有矛盾(比如...

2019-01-10 13:52:20 157

原创 Poj2492 带权并查集

题目链接在这里题目大意bug分公母,有n个bug,m个描述,每个描述里有x和y,代表这两个bug是一对。问给出m个描述之后会不会有同性恋现象。解题思路每个Bug的权值初始时设置成0,权值代表着这个bug和其祖宗的性别差异,如果是1就表示是异性,0代表同性。然后在合并的时候,如果发现它们之前已经合并过了并且它们的权值相加为偶数,则就是同性恋。代码如下#include <cstdio...

2019-01-09 09:45:36 163

原创 poj1182 并查集

题目描述动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句...

2018-11-27 20:24:44 102

原创 poj2236 并查集

题目链接在这里题目描述An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap computers, but an unexpected aftershock attacked, all com...

2018-11-26 15:10:47 103

原创 poj3169 差分约束+spfa

题目链接在这里题目大意是有N头牛,有的牛喜欢相互挨得近一点,有的想相互离得远一点。输入的第一行给出三个数N, ML, MD,分别代表N头牛,有ML条数据是离得近一点,MD条数据是离得远一点。接下来有ML + MD条数据,每条数据有a b c三个数,代表牛a和牛b离得不超过(或者最少是)c。问第一头牛和第二头牛最远能隔多少。这是一个差分约束题目,我们分析一下。假设a是编号比较小的牛,即a...

2018-11-25 23:05:15 153

原创 hdu4370 最短路

题目链接在这里问题描述Given a n*n matrix Cij (1<=i,j<=n),We want to find a n*n matrix Xij (1<=i,j<=n),which is 0 or 1.Besides,Xij meets the following conditions:1.X12+X13+...X1n=12.X1n+X2n+......

2018-11-24 13:49:58 185

原创 hdu3416 最短路+最大流

题目链接在这里题目描述Do not sincere non-interference。Like that show, now starvae also take part in a show, but it take place between city A and B. Starvae is in city A and girls are in city B. Every time s...

2018-11-22 22:12:00 277

原创 lightOJ1074 spfa

题目地址在这里题目描述Dhaka city is getting crowded and noisy day by day. Certain roads always remain blocked in congestion. In order to convince people avoid shortest routes, and hence the crowded roads, to r...

2018-11-22 11:48:10 168

原创 hdu1700

不知道哪里错了,先码着#include <stdio.h>#include <math.h>int N;int main(){ scanf("%d", &N); while(N--){ double x0, y0; double x1, x2, y1, y2;

2018-04-08 17:36:46 161

原创 CODEVS_3027 线段覆盖2

题目地址 题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段价值之和最大。n<=1000输入描述 Input Description 第一行一个整数n,表示有多少条线段。接下来n行每行三个整数, ai bi ci,分别代表第i条线段的左端

2017-04-30 21:25:32 309

空空如也

空空如也

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

TA关注的人

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