自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UVALive 5873 - Tree Inspections 【模拟】

题目大意:给你一堆树的坐标,然后给你一些横着的路和竖着的路,一棵树如果横着或者竖着可以在没有其他树阻挡的情况下看到一条路,这棵树就是“好的”,问最后“好的”树能否不小于60%。把点和边一起排序,正向扫一遍,逆向扫一遍扫到点就看看对应位置有没有过树,没有就把当前点标记为“好的”,扫到边就把所有位置的树清空,这个可以用map实现,比较方便。横竖分别做一遍,最后算答案即可。#in

2016-02-23 00:37:40 381

原创 UVALive 5878 - Shortest Leash 【计算几何】

题目大意:给你一堆向量,每个向量可以选择正向或者反向,最后加起来,求最大模。把向量和反向量一起按极角排序,从中任取连续的n个,这n个向量一定不会全部包含任意一个向量的正反向量,所以找n次,每次找连续n个,找最大模出来就行了。#include#include#include#include#include#include#includeusing namespa

2016-02-23 00:32:30 494

原创 UVALive 5876 - Writings on the Wall 【KMP】

题目大意:左右两个字符串,左右拼起来,可以重叠(前面的后缀和后面的前缀)(不能完全重叠,但是可以完全不重叠),问能重叠出多少个不同的单串。把右边的串放到左边的前面,就变成了一个串的前后缀有多少个不同的匹配,然后直接看毛片的next数组求一遍就好。hit:可以在两个串中间加个‘*’之类的挡住,防止多求。#include#include#include#include#in

2016-02-23 00:27:37 378

原创 UVALive 5870 - Smooth Visualization

题目大意:任何一个1~7的数由竖着一列字符表示,从下到上数是几就有几个‘+’,空余地方是‘*’,现在给定一行数,将这行数用一个矩阵表示出来,要求,相邻两列之间‘+’个数不能相差超过1,超过1了就在中间加一些列,使得最后矩阵中相邻两列相差不超过1。。。。模拟,一列一列搞就好。#include#include#include#include#include#include

2016-02-23 00:14:56 327

原创 CF100015B - Ball Painting

题目大意:有2N个白球排成两行,每行N个。现在让你染成黑色,第一个球可以任意选一个染色,之后每个要染色的球,必须满足,它上下左右斜向之中至少要有一个已经被染色过的球。求全部球染色的方案数。DP问题,f[i][j]表示,染色长度为i的两行矩阵,染了j个球的方案数,转移有这么几种,f[i][j]+=f[i][j-1]*(2*i-(j-1)),之前长度为i,新染了一个球长度还是i,就

2016-02-09 00:39:25 400

原创 CF100015A - Another Rock-Paper-Scissors Problem

题目大意:小明的猜拳策略,先出R,然后每连续两段出拳策略是前一阶段的获胜方法。样例:R P S PSR SRP PSRSRPRPS SRPRPSPSR PSRSRPRPSSRPRPSPSRRPSPSRSRP....第二个P可以赢第一个R,第三个S可以赢第二个P。接着的PSR可以赢前一阶段的RPS,SRP可以赢PSR。然后PSRSRPRPS可以赢R P S PSR SRP,SRPRP

2016-02-09 00:25:09 368

原创 CF624D - Array GCD

文章大意:给定一个数列,现在有两种合法操作:1)选择一段连续区间,把这段区间的数移除,代价为a*区间元素个数,不可移动整个数列。2)选择某些元素,把这些元素分别加一或减一,元素之间无影响,可以不连续。代价为b*操作元素个数。现在要求这两种操作,每种操作最多做一次,可以不做,使得剩下的数列中,所有数的最大公约数大于1。求所需的最小代价。通过YY可以发现,既然不让移除全部区

2016-02-09 00:07:44 393

原创 CF624C - Graph and String

题目大意:有一个由abc构成的字符串,aa,bb,cc,ab,ac之间连双向边,构成一个图,现在把这个图给出来,问是否存在这样的字符串,如果有,构造一个。很容易发现一个性质,b可以往所有点连边,没边的只有ac之间,所以可以先把b扫出来,然后剩下的点再染成ac,大概类似于一个二分图染色,有冲突就非法,没冲突最后输出。#include#include#include#include

2016-02-09 00:05:31 586

原创 CF624B - Making a String

题目大意:一个字符串由n种字符构成,现在给定每种字符出现的最多次数,让你构造一个字符串,使得出现过的字符的个数各不相同,求字符串最长长度。字符串出现次数从高到低排序,能用最多的就用最多的,不能就减一,到0为止。#include#include#include#include#include#includeusing namespace std;int n;int a[30]

2016-02-08 23:54:59 491

原创 CF624A - Save Luke

题目大意:有个人在左右端点中间,给出人的宽度和左右端点向中间的速度,求人的存活时间。……打卡题不解释。#include#include#include#include#include#includeusing namespace std;double d,l,v1,v2;int main(){ cin>>d>>l>>v1>>v2; printf("%.10f\n",(l-d

2016-02-08 23:49:32 447

原创 CF621E - Wet Shark and Blocks

题目大意:给你b个格子,每个格子有n个数(1到9),你顺序从b个格子中各取一个数,依次排列好,组成一个b位数,求使得这个b位数%x余k的方案数(同一格子内相同的数字算不同方案)。DP题,状态f[i][j]表示前i个格子取出的数%x余j的方案数。f[i][j]到f[i+1][m]转移条件是(j*10+q)%x==m,q为第i+1个格子选的数。化简之后变成F[i]*A[]=F[i+1],F和A为矩

2016-02-02 01:36:35 499

原创 CF621D - Rat Kwesh and Cheese

题目大意:给三个实数x,y,z。求出最大的a[i],输出i对应的字符串。一开始想用pow水。。。结果数据太大了。。。这个题可以变成把式子取对数套两层ln,然后就没有次方了,直接判断大小即可。注意:xyz都大于等于1的时候可以直接套两层ln,但是如果有小于1的数,取一次对数会变成负的,那么直接判定这个a不是最大的。三个数都小于1的话第一次取对数之后做相反数变成正的,再取第二次,这时候就要找最

2016-02-02 01:30:22 417

原创 CF621C - Wet Shark and Flowers

题目大意:n个人做成一圈,每个人手中的数是从Li到Ri(闭区间)等概率随机的,给定素数p,如果相邻两个人的数的乘积可以整除p,则两人分别得到1000元,求总得到钱数的期望。首先,只考虑左边(也可以右边)的人的数是p的倍数的情况,概率为G(i)=(Ri/p-(Li-1)/p)/(Ri-Li+1),这个概率下可以两个人都得钱就是2000元。然后考虑左边人不满足而右边人满足的情况,概率为(1-G(i

2016-02-02 01:22:24 442

原创 CF621B - Wet Shark and Bishops

题目大意:在一个1000*1000的国际象棋棋盘上,有n个“相”,只要在同一条对角线上的相就能互相攻击,不管中间有没有别的相,求可以互相攻击的相的对数。互相攻击的相满足的条件有两个,坐标x+y相等或者x-y相等。所以可以按照x+y和x-y为关键字分别排两次序,相同关键字的q个相可以组成(1+q-1)*(q-1)/2对,计算即可。#include#include#include#inc

2016-02-02 01:14:17 367

原创 CF621A - Wet Shark and Odd and Even

题目大意:给你n个数,每个数选或不选,加起来得到一个偶数,求最大偶数。排序,偶数在前,奇数在后,奇偶分别递减。偶数直接加,奇数两个两个加,扫一遍即可。#include#include#include#include#include#includeusing namespace std;struct aaa{ long long x; bool friend operato

2016-02-02 01:11:02 340

原创 CF618D - Hamiltonian Spanning Tree

题目大意:在一个n个点的完全图上有一棵生成树,生成树边权x,非树边y。找一条哈密顿路径,使得总路程最少。首先分类讨论,x>=y的时候,非菊花图都可以完全走非树边,菊花图至少走一条树边,特判即可。当x#include#include#include#include#include#includeusing namespace std;struct bian{ int to

2016-01-31 05:35:21 310

原创 CF618C - Constellation

题目大意:给你n个点的坐标,任意找出一个三个点的组合,使得这三个点构成的三角形面积不为0,且三角形里面没有别的点。数据保证有解。贪心。先按照xy排序,前两个点必取,从第3个点开始找,直到找到一个可以和1、2点构成三角形的第一个点。输出标号。注意判三点共线。#include#include#include#include#include#includeusing namespac

2016-01-30 12:58:59 478

原创 CF618B - Guess the Permutation

题目大意:有n个数1~n的全排列,给你一个n*n的矩阵,Aij表示第i位和第j位中较小的哪一个,对角线是0,求原数列。这么考虑,首先1与其他比较肯定1是最小的,那一行肯定除了对角线的0,其他全是1。这样,找到1的位置。接下来,把矩阵中所有1变成2,找到的那一行标记为“占用”,然后去找“非占用”的行中除了0全是2的那一行,确定2的位置,以此类推。#include#include#incl

2016-01-30 12:51:57 413

原创 CF618A - Slime Combining

题目大衣是给你n个1,每次放到队列最右端,最右端两个数v一样的时候可以合并成v+1,求最后队列结果。简单模拟,一个一个放,放完了写个while合并就好。#include#include#include#include#include#includeusing namespace std;int n;int m;int a[110000];int main(){ sc

2016-01-30 12:47:28 364

原创 POJ3026 - Borg Maze [MST]

版权声明:本文为博主原创文章,未经博主允许不得转载。题目其实就是给你一个图,求所有字母连起来的最小生成树。字母之间的距离要预处理,可以弗洛伊德也可以bfs。然后就做MST就好,其实我觉得kru也行但是网上都是用的prim。代码极丑勿学姿势。。。#include#include#include#include#include#includeusing namespace

2016-01-29 01:00:44 394

空空如也

空空如也

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

TA关注的人

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