自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Headshot UVA - 1636

题目传送门题意:你和人决斗。决斗规则如下:用一把有n个弹槽的左轮手枪,对着自己脑袋来一枪,孰生孰死看天意。现在对方已经装了若干发子弹,并随机转了一下转轮,子弹呢用一个01序列表示,0表示这个弹槽无子弹,1表示有子弹。对方先对着自个脑袋开了一枪,嗯,你只听到了一声’click’,人还好好的,是空枪。现在轮到你了,摆在你面前的有两个选择,一是直接对自己开射,二是转一下转轮再来开射,显然你会选择生还希望更

2017-09-28 21:23:28 339

原创 Space Elevator POJ - 2392

题目传送门题意:给你n种高塔,每一种高塔都有自己的高度,数量,以及这种高塔组稿不能超过的高度,问你能搭建成的最高的高度。思路:按照高塔的限制高度进行一个排序,然后多重背包就好了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#

2017-09-28 18:01:20 259

原创 Charlie's Change POJ - 1787

题目传送门题意:给你四种硬币,硬币的面值分别为1,5,10,25,每一种硬币分别有C1,C2,C3,C4,问你能不能通过这些硬币构成p元, (尽可能的多用硬币)如果能的话输出方案。思路:完全背包记录一下路径就好了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream

2017-09-27 22:31:02 241

原创 Password UVA - 1262

题目传送门题意;给你两个6行5列的密码矩阵,找出满足下列条件的“密码”:密码中的每一个字母都在两个矩阵的对应列中出现,求字典序第k大的的密码,如果没有输出NO。题意:直接暴力瞎搞一下就好了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <l

2017-09-27 17:41:18 336

原创 Send a Table UVA - 10820

题目传送门题意:给出n,算出小于等于n的所有数中,有几对互质。思路:我们用欧拉函数打个表就好了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#include <

2017-09-27 11:12:27 234

原创 Irrelevant Elements UVA - 1635

题目传送门题意:给你n个数字,一次求出相邻的两个数字的和,会得到一个新的数列,重复这个操作,最后会变成一个数字,问这个数字的余数和哪些数字无关?思路:这个题如果直接计算组合数的话要用到高精度算法,所以我们可以将这个问题转换为用唯一分解定理来做,求出来m的所有素因子,然后再求组合数的所有素因子判断即可。#include <algorithm>#include <cmath>#include <cs

2017-09-27 09:46:23 239

原创 Codeforces Round #436 (Div. 2) 解题报告

比赛传送门A. Fair Game 题意:给你n个卡牌(n是偶数),每一个卡片上都有一个数字,有两个人,这两个人各选择一个数字把所有带有这个数字的卡片拿走,问两个人能不能把所有的卡片拿走,且两个人拿到的卡片数相同。思路:这个题emmm,读了好久,每一个人只能选择一个数字然后就直接写就行了。#include <algorithm>#include <cmath>#include <cstdio>

2017-09-26 17:57:13 231

原创 Minimum Sum LCM UVA - 10791

题目传送门题意:给你一个整数N,求至少两个正整数,使得他们的最小公倍数是N,且这些整数的和最小,求和。思路:我们可以用唯一分解定理来求解,发现N的每一个质因子单独作为一个整数的时候情况最优。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <l

2017-09-25 16:51:03 176

原创 Choose and divide UVA - 10375

题目传送门题意:给你四个数字p,q,r,s,计算C(p, q) / C(r, s)思路:因为直接计算的话中间的结果会过大,所以不能直接计算我们可以使用唯一分解定理来把这个题目转换为阶乘这个样子就不会使中间的结果过大了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostrea

2017-09-25 16:20:32 206

原创 Disgruntled Judge UVA - 12169

题目传送门题意:给你一个递推式x[i] = (a * x[i - 1] + b) mod 10001,然后输入T,x[1], x[3], ….., x[2 * T - 1],求出剩下的序列。思路:我们可以枚举a的值,然后用扩展欧几里得来求出来b然后进行验证当前的a,b是不是可以构成整个序列。#include <algorithm>#include <cmath>#include <cstdio>

2017-09-25 10:30:13 248

原创 One Person Game ZOJ - 3593

题目传送门题意:给你一个起点A和终点B,你可以一次向前行进或者向后行进a,b,(a + b)米,问你最少多少次能够到达终点。思路:直接扩展欧几里得,然后求出来通解以后再去求出来最优的通解就可以了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <fstream>#include

2017-09-22 11:48:24 311

原创 Modular Inverse ZOJ - 3609

题目传送门题意:ax≡1 (mod m) 求x思路:就是一个裸的扩展欧几里得,但是要注意一下m为1的情况#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <fstream>#include <iostream>#include <list>#include <map>#inc

2017-09-22 10:25:51 273

原创 Sumdiv POJ - 1845

题目传送门题意:给你一个A,B,问你A^B的所有正因子的和模9901的结果。思路:这一个题目学了好多东西啊,先学习了逆元,发现如果是出发的话要用逆元来取模 a / b % MOD = (a % (MOD * b)) / b 然后这个题目是可以用唯一分解定理来做的 N=P1^a1 * P2^a2 * P3a3 * …… * Pn^an 唯一分解定理有一个结论,一个数字的所有的正因子的和为 (

2017-09-21 21:00:56 230

原创 Robberies HDU - 2955

题目传送门题意:有一个小偷,和N家银行小偷如果被抓到的概率大于P以后就会被抓,每一家银行都有一个小偷能偷盗的金额和他被抓住的概率,问这个小偷在不被抓住的前提下能偷盗的最多的钱。思路:01背包的变形,还是比较简单的,我们可以把能偷盗的钱的金额当作背包的容量,而不被抓到的概率当中价值然后直接01背包就好了。#include <algorithm>#include <cmath>#include <c

2017-09-15 11:29:28 261

原创 Number String HDU - 4055

题目传送门题意:给你一串长为N-1的字符串,I代表当前位比上一位的数字大,D代表当前位比上一位小,?代表着这一位有可能是I或者D,问你有多少种可能性。思路:这个题感觉一开始想错了方向啊,一开始想的二维数组i代表第几个数字,j代表以j结尾的数字有多少种组合,然后就开始推式子,一直想想直接用乘法结果就GG了。研究了一天没搞出来然后就看了一下题解,发现题解的i代表是1~i这些数字的排列,然后就可以推出来式

2017-09-14 18:38:29 358

原创 Kingdom of Obsession HDU - 5943

题目传送门题意:给你N和S,形成一个新的序列(S+1, S+2, ….., S+N)这些数字能不能一一对应1~N的数字将它们整除。思路:这个题一开始在手推规律,然后推了发现没有什么规律,但是发现如果新的序列与1~N中不重复的地方存在两个素数就一定不满足了,然后发现两个素数之间的距离不会很远,然后将想把少于两个素数的情况用二分图匹配来做,但是考虑到数字可能会很大就用了map然后就超时了。后来看了别人的

2017-09-14 16:56:24 291

原创 The King’s Ups and Downs HDU - 4489

题目传送门题意:给你n个人有不同的身高,让他们排列为身高按照波浪状排列,问有多少种排列方式。思路:是个DP,想了两个小时没想出来什么思路,明明是要想DP的思路,但是总是想到暴力上面去了,看了一下题解的思路一下就想到了。。。。。。(还是要多想) 对于第n个人,他有n个可以放的位置,假如他站在pos位置,他前面的所有人的最后一个人一定是连续下降得到的,他后面的第一个人一定是要上升的,然后我们把式子递推

2017-09-11 21:33:55 322

原创 Attack on Titans ZOJ - 3747

题目传送门题意:给n个士兵排队,每个士兵三种G、R、P可选,求至少有m个连续G士兵,最多有k个连续R士兵的排列的。思路:这个题目至多的情况十分的好考虑,如果是至少的情况是可以转换为至多的情况:至多k个连续R,至多n个连续G情况 【减去】至多k个连续R,至多(m-1)个连续G情况。当第i个为R时如果i<=k 时 无论怎么放都不会超过u个连续的R这个限制条件 所以dp[i][1]=dp[i-1][0]+

2017-09-11 18:10:13 221

原创 card card card HDU-6205

题目传送门题意:给你一个序列,每一个有两个值,一个代表分数,一个代表惩罚值,你每次只能选择最前面的一个,如果你当前的分数小于惩罚值就停止选择,你能在游戏的开始前将最前面的移到最后面任意次,问你的到最大分数是移动的次数。思路:这个题,emmmm其实一开始就写对了,但是因为数组开小了给我了tle结果我就懵逼了,写的O(n)时间复杂度的代码超时,后来评测机炸了也没再好好检查这个题目(还是太菜了),思路很简

2017-09-11 08:59:00 268

原创 CodeForces 429B B.Working out

题目传送门题意:给你一个n*m的网格,A在(1,1)前往(n,m),B在(n,1)前往(m,1),每个人到达一个新的网格就能得到这个网格里面的数字,两个人必须在一个网格相遇(只能相遇一次),且两个人都不能获得这个网格里面的·数字。求两个人能获得最大数字和。思路:一开始想到枚举,但是枚举每一个点在进行运算的话时间复杂度太高了,所以就一开始预处理一遍每一个点到四个角的最大值,然后在枚举就可以了。一定要注

2017-09-06 11:34:27 315

原创 Feel Good UVA - 1619

题目传送门题意:给你一个长度为n的非负整数序列,求一段连续的字序列a1,a2,a3…..,使得(a1+a2+..+ar)*min(a1,a2,..,ar)的值最大。思路:这个题不难到想到要求最大值就是要看当前的点往左往右能够延伸的到的最远距离(使当前的点是这一段序列当中的最小值),但是如果暴力枚举的话时间复杂度太高所以要进行优化,记录当前的节点能够延伸到的最远距离,然后后面的节点如果小于当前的节点,

2017-09-05 19:00:59 273

原创 Smallest Sub-Array UVA - 11536

题目传送门题意:有n个0~m-1的整数组成一个序列,你的任务是要找到一个尽可能短的连续子序列使得这个子序列包含1~k的所有整数。思路:直接用尺取法就可以了,不难,注意一下状态的维护就好了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <fstream>#include <ios

2017-09-04 20:59:56 247

原创 Caravan Robbers UVA - 1616

题目传送门题意:输入n条线段,把每一条线段的变成原线段的一条子线段,使得改变之后的线段等长且不相交(端点可以重合)。输入最大的长度。思路:思路很简单,先排序然后二分就可以了,这个题难的是在于如何将一个小数转换为分数,一开始自己写的可能精度有些问题后来看了一下别人的思想差不多。#include <algorithm>#include <cmath>#include <cstdio>#includ

2017-09-04 19:52:42 309

原创 Meeting with Aliens UVA - 10570

题目传送门题意:有一个1~n的排列,你每次可以都可以交换两个整数,用最少的次数交换次数把这个序列变成一个1~n的环状排列。思路:这个就是直接三重循环暴力就好了,如果当前的这个位置不是的话就找到应该放倒当前的位置的数字,然后进行交换。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <

2017-09-04 17:26:09 241

原创 K-Graph Oddity UVA - 1613

题目传送门题意:给你一个联通图,给这个图上的所有点染色,使得任意相连的两个点之间的颜色不同,一共有K种颜色(K是最大度,如果K是偶数的话,K加1)。思路:直接用DFS染色就可以了,一开始用BFS和STL的queue结果无限超时,然后改成了DFS90ms就过了,也是很迷。#include <algorithm>#include <cmath>#include <cstdio>#include <

2017-09-04 16:19:54 347

空空如也

空空如也

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

TA关注的人

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