自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不慌不忙、不急不躁

https://github.com/JeraKrs

  • 博客(94)
  • 收藏
  • 关注

原创 uva 1554 - Binary Search(暴力)

题目链接:uva 1554 - Binary Search题目大意:按照题目中的二分函数,给出i和L,表示说在第i个位置,并且查找了L次,问说有多少个N满足,注意输出的时候按照区间的形式。解题思路:暴力,从i+1到MAXN,每次模拟题目中的代码跑一遍即可,然后要注意上限问题,N最大为1e4,然后最后N=1e4的时候要注意一下。#include #include

2014-02-28 23:03:56 1372

原创 uva 10729 - Treequivalence(暴力+离散)

题目链接:uva 10729 - Treequivalence题目大意:给出两棵树,判断两棵树是否相同,注意节点的字母可能相同,孩子的顺序不能变化,并且是多叉树。解题思路:这题还是比较恶心的,因为节点的字母可能相同,所以根不能通过说记录节点的情况或者是求出前中序来判断两棵树是否相同。只能暴力枚举,对于每种节点用map离散记录,并且有一个特定的key,为遍历的顺序(唯一的,可

2014-02-28 19:49:05 1352

原创 【索引】CodeForces Round #232 (Div. 2)

Problem A: On Segment's Own Points(397A)Problem B: On Corruption and Numbers(397B)Problem C: On Number of Decompositions into Multipliers(396A)Problem D: On Sum of Fractions(396B

2014-02-28 12:24:51 938

原创 Codeforces 396C On Changing Tree(树状数组)

题目链接:Codeforces 396C On Changing Tree题目大意:给出一棵以1为根的树,形式是从节点2开始给出每个节点的父亲节点;然后是m次操作,操作分为两种,1 v, x, k,表示在以v为根的字数上添加,添加的法则是看这个节点与v节点的距离为i的话,加上x-i*k;2 v查询节点v的值。解题思路:一开始以为很难,但是突然想到可以先加上在减去就豁然开朗了

2014-02-28 12:17:15 1968

原创 Codeforces 396B On Sum of Fractions(数论)

题目链接:Codeforces 396B On Sum of Fractions题目大意:给出一个n,ans = ∑(2≤i≤n)1/(v(i)*u(i)), v(i)为不大于i的最大素数,u(i)为大于i的最小素数, 求ans,输出以分式形式。解题思路:一开始看到这道题1e9,暴力是不可能了,没什么思路,后来在纸上列了几项,突然想到高中时候求等差数列时候用到的方法,具体叫

2014-02-27 22:12:27 1807

原创 Codeforces 396A On Number of Decompositions into Multipliers(组合数学)

题目链接:Codeforces 396A On Number of Decompositions into Multipliers题目大意:给出n个数,ai,然后取这n个数的积为m,计算将m分解成n个因子,问有多少种有序因子序列。解题思路:n为500,ai的上限为1e9,所以要表示m是完全不可能的,但是记录下m的因子个数是完全可以的,因为ai就是m的因子,所以把ai分解成质

2014-02-27 22:00:19 1586

原创 Codeforces 397B On Corruption and Numbers(数论)

题目链接:Codeforces 397B On Corruption and Numbers题目大意:给出n,l,r,表示用l~r中间任何数的面值若干个组成n,可以输出Yes,不可以输出No。解题思路:一开想到dp的一道题,当l*k ≤r*(k-1)的时候,l*(k-1)往上就可以全部可行,但是超时了。起始可以换个简单的想法, 找到最接近n的f,f为l的倍数,即l*k

2014-02-27 13:40:41 1430

原创 Codeforces 397A On Segment's Own Points(遍历)

题目链接:Codeforces 397A On Segment's Own Points题目大意:给出n个区间,第一个区间为自己的区间,然后n-1个区间为别人的区间,问说你有多少长度的区间是自己独享的。解题思路:水题,因为r的上限为100,所以完全可以开个100的数据记录每段区间是否被占用。#include #include const int N = 1

2014-02-27 13:34:35 915

转载 简明Vim练级攻略

导读:本文来自《Learn Vim Progressively》,译文来自酷壳网陈皓整理编译的《简明Vim练级攻略》。这是一篇给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。文章内容如下:Vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。你想以最快的速

2014-02-26 22:59:15 795

原创 uva 10609 - Fractal(dfs)

题目链接:uva 10609 - Fractal题目大意:给出A,B两个点的坐标,以及T,每次找到A、B的四等分点C,D,然后以AB/2为边长,C,D为顶点,构建一个等边三角形,E为另外一个顶点,然后再对C,E;E,D做同样的操作,直到构建的等边三角形的边长小于T时。输出所有过程中的点,按照x坐标排序,相同的按照y坐标。解题思路:dfs模拟,用ans记录点,最后排序,C,D

2014-02-26 14:18:37 1375

原创 uva 1427 - Parade(dp+单调队列)

题目链接:uva 1427 - Parade题目大意:F城由n+1各横向路和m+1个竖向路组成。你的任务是从最南边的路走到最北边的路,使得走过的路上的高兴值和最大(高兴值可能为负值)。同一段路不能经过两次,且不能从北往南走。另外在每条横路上所花费的时间不能超过k。解题思路:dp[i][j][0]表示走到(i,j)这个位置的最大开心值和,dp[i][j][1]表示从左边移动到

2014-02-26 13:15:22 1536

原创 uva 1354 - Mobile Computing(dfs)

题目链接:uva 1354 - Mobile Computing题目大意:给出房间的宽度,以及n个重物的重量,每个杆的长度为1,要求如图放置的宽度尽量宽但又不超过房间的宽度。输出保留10为小数即可。解题思路:这题想了有好几天,一开始连题意都理解错了。看到网上有人用BFS然后开了6个vector去记录状态.....我的做法是模拟二叉树的数组形式去暴力,对于天平的每个节点,

2014-02-26 10:26:07 3515 3

原创 uva 1407 - Caves(树形dp)

题目链接:uva 1407 - Caves题目大意:给出n,表示有一个以0为根含有n个节点的树,每条边有一个权值,现在给出m次询问,每次询问有一个val值,要求计算在val值下的距离最多能经过多少个节点,一个节点多次移动多算一次。解题思路:dp[u][i]表示说以u为根,经过i个节点的最短距离,第三维有0和1两种状态,0是经过i个节点后要不用返回u,1是需要返回。这样就有(

2014-02-25 21:34:13 1795

原创 【索引】Dynamic Programming::Examples:Beginner

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 1. Algorithm Design::Dynamic Programming:Examples:Beginner

2014-02-24 23:00:20 1025

原创 uva 11584 - Partitioning by Palindromes(dp)

题目链接:uva 11584 - Partitioning by Palindromes题目大意:给出一个字符串,问说最少可以划分成几个回文串。解题思路:dp[i]表示从1到第i个字符最少可以划分为几个回文,dp[i] = min{dp[j-1]+1 | judge(j,i) } ,judge函数判断从j到i是否可以形成回文串。#include #includ

2014-02-24 22:34:34 1054

原创 【索引】Dynamic Programming::Examples

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 1. Algorithm Design::Dynamic Programming:Examples1394 - And Then There Was One10635 - Prince and Princess10

2014-02-24 19:34:47 1061

原创 uva 1252 - Twenty Questions(记忆化搜索)

题目链接:uva 1252 - Twenty Questions题目大意:给出m和n,表示有n个长度为m且由01组成的字符串,要求询问k个位置,以区分这n个字符串,每次询问一个位置,将会得到该位置的字符,注意询问k次的位置并非固定:例:5 410100110000000100010ans = 2;询问了第1个位置后,区分开了(1)(2)和(3)(4),然而区分(

2014-02-24 19:06:16 1379

原创 uva 1291 - Dance Dance Revolution(dp)

题目链接:uva 1291 - Dance Dance Revolution题目大意:有一台跳舞机,中间位置是0,然后从0的右边开始顺时针分别是1,2,3,4;从0到1,2,3,4要消耗2点体力;每个位置到斜角的消耗的体力为3点(例如1到2,4);到对角消耗的体力4点(1到3);原地不动消耗的体力为1;现在题目给出一个序列是要求踩的位置,两只脚的初始位置都在0,在跳得过程中不能两只脚同

2014-02-24 12:46:47 1420

原创 uva 1351 - String Compression(dp)

题目链接:uva 1351 - String Compression题目大意:给出一个字符串,如果相邻的m个连续子串相等的为s0话,可以将该段表示为m(s0),问说最短需要几个字符可以表示所给字符串。解题思路:首先要注意(1)m可能是两位数三位数等等;(2)左右括号各算一个字符;(3)s0可以为简化过的字符串,例如s0中包含了一个k(s1)。然后是dp[i][j]表示的

2014-02-23 20:58:42 1120

原创 uva 1292 - Strategic game(树形dp)

题目链接:uva 1292 - Strategic game题目大意:给出一张无向图,可以在每个点上放置士兵,放置士兵的点可以看守该点的所有边,问说要看守所有的边最少要放几个士兵。解题思路:dp[i][0]表示说该店不放士兵的最优解,dp[i][1]表示说该点放置士兵的最优解。如果一条边的一个端点没有放置士兵,则另外一边必须放。#include #includ

2014-02-23 17:02:14 1493

原创 Codeforces 394D Physical Education and Buns(暴力)

题目链接:Codeforces 394D Physical Education and Buns题目大意:给出含有n个数的集合(数的位置可以交换),要求n个数中的每个数进行小于k次的修改(+1或-1),然后该集合可以构成等差递增的序列,要求k尽量小。解题思路:枚举公差d,默认首项为0,然后遍历集合,维护修改的最大值和最小值(注意有负数的情况,为向下修改),然后去中间

2014-02-22 09:47:41 1438

原创 uva 1451 - Average(数形结合)

题目链接:uva 1451 - Average题目大意:给出n和L,表示有一个长度为01组成的字符串,要求找出子串长度不小于L,且含有1的平均值最大,长度尽量小。解题思路:树形结合,将字符串的每个位置对应成xOy坐标上的点,那么平均指即为两点之间的斜率。然后维护一个相邻两点斜率递增的一个集合q(即凸点集),然后后面枚举的点只需要在这个集合中找切点即为该点满足题意的最优斜

2014-02-21 17:37:36 1746 2

原创 uva 473 - Raucous Rockers(dp)

题目链接:uva 473 - Raucous Rockers题目大意:有n首歌,以及m个磁带,每个磁带的容量为t,给出n首歌的大小,现在要将n首歌存放在m个磁带上,一首歌不能分开放,求最大的存放歌曲数。解题思路:dp[i][j][k]表示第i首歌放在j磁盘的k位置(结束位置)时可以存放的最多歌曲数。dp[i][j][k] = max(dp[i-1][j][k], dp[

2014-02-21 15:18:45 1166

原创 uva 672 - Gangsters(dp)

题目链接:uva 672 - Gangsters题目大意:给出n,K,T,表示一个酒店将要有n位客人到来,然后给出每个客人的ti,表示在ti时刻第i位客人来到酒店,ti ≤ T;再给出pi,表示第i位客人进入酒店为酒店带来的收益;接着是si,表示第i位客人要进入酒店需要将门开到正好si的大小。酒店的门每时刻可以增加1,减少1或不动,问说酒店的收益最大值。解题思路:dp[i]

2014-02-21 13:46:23 1156

原创 Codeforces 394C Dominoes(贪心)

题目链接:Codeforces 394C Dominoes题目大意:给出若干个骨牌,有00, 01, 10, 11四种骨牌,要求重排后,每一竖的上1的个数的最大值最小。解题思路:贪心,奇数行从1~m放,偶数行从m~1放,均从11先放,在放10,和01(01和10是一样的,因为可以旋转),注意奇数行01,偶数就得10.#include #include co

2014-02-21 09:42:03 1194

原创 Codeforces 394B Very Beautiful Number(水题)

题目链接:Codeforces 394B Very Beautiful Number题目大意:给出p和x,要求找出一个p位数,要求p*x = t,t 为p的各位移动到最前面。解题思路:水题,注意前导0的情况是不可以的。#include #include const int N = 1e6+10;bool flag;int n, x, s[N];b

2014-02-21 09:36:16 1061

原创 Codeforces 394A Counting Sticks(水题)

题目链接:Codeforces 394A Counting Sticks题目大意:给出一个由木棍组成的式子,要求移动最多一个木棍,使得式子为等式。解题思路:水题,注意加数和和都不可以为0.#include #include const int N = 505;char str[N];int a, b, c, s;void init() { get

2014-02-21 09:31:12 904

原创 【索引】CodeForces Round #230 (Div. 2)

Problem A: Nineteen(393A)Problem B: Three matrices(393B)Problem C: Blocked Points(392A)Problem D: Tower of Hanoi(392B)Problem E: Yet Another Number Sequence(392C)

2014-02-20 22:21:06 841

原创 Codeforces 392C Yet Another Number Sequence(矩阵快速幂)

题目链接:Codeforces 392C Yet Another Number Sequence题目大意:给出n和k,表示一个序列A[i],求前n项A[i]的和,结果可以% 1e9+7。A[i] = i^k * F[i],F[i] = F[i-1] + F[i-2](斐波那契数列)。解题思路:首先(i+1)^k = C(k,k) * i ^ k + C(k, k-1)

2014-02-20 22:14:10 2173

原创 uva 1366 - Martian Mining(dp)

题目链接:uva 1366 - Martian Mining题目大意:给出n和m,然后给出两种矿的分布,a种只能向上运输,b中只能向下运输,问说最多可以得到多少。解题思路:dp[i][j]表示矩阵i,j的最大值,dp[i][j]= max(dp[i-1][j]+suma[i][j], dp[i][j-1] + sumb[i][j]).\#include #in

2014-02-20 17:13:50 1259

原创 uva 1452 - Jump(约瑟夫环)

题目链接:uva 1452 - Jump题目大意:给出n和k,就是正常的约瑟夫环问题,但是要求给出最后剩下的三个人。解题思路:ans = (ans+k)%i是逆推从最后一个剩的人反推回一开始这个人的序号,那么当i == 2是,另外一个就是剩下第2个人,当i== 3是,抛开先前两个,就是剩下的第三个人,将它们的序号以同样的方式反推回去即可。

2014-02-20 16:27:45 1739

原创 uva 11795 - Mega Man's Mission(dp)

题目链接:uva 11795 - Mega Man's Mission题目大意:给出n,表示有n个敌人,首先给出洛克人的武器(二进制数,表示可以杀死的敌人),然后给出n个敌人的武器,同样是二进制,杀死该敌人后可以获得他的武器,问说一共有多少种击杀顺序。解题思路:用二进制表示i说那些人被击杀,dp[i]表示这些集合的人被击杀有多少种顺序,然后h[i]表示获得这些人的武器后可以

2014-02-20 16:22:36 1384

原创 【索引】Designing Efficient Algorithms:Exercises: Beginner

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 1. Algorithm Design::Designing Efficient Algorithms:Exercises: Beginner10125 - Sumsets10763 - Foreign Excha

2014-02-20 10:03:45 802

原创 【索引】Designing Efficient Algorithms:Examples

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 1. Algorithm Design::Designing Efficient Algorithms:Examples11462 - Age Sort11078 - Open Credit System11549

2014-02-20 09:51:31 803

原创 【索引】Dynamic Programming

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia LiuChapter 1. Algorithm Design::Dynamic ProgrammingExamplesExamples:BeginnerExamples:IntermediateExamples:Advanced

2014-02-20 09:41:25 1019

原创 【索引】Designing Efficient Algorithms

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia LiuChapter 1. Algorithm Design::Designing Efficient AlgorithmsExamplesExamples:BeginnerExamples:IntermediateExamples:Adva

2014-02-20 09:40:09 941

原创 uva 1456 - Cellular Network(dp + 贪心)

题目链接:uva 1456 - Cellular Network题目大意:给出n和w,表示有n台机器,以及n个概率p[i](注意概率是p[i]/sum),现在将n台机器分成w组,按照题目中的公式计算值,要求找出最小的值。解题思路:先贪心,因为概率大的肯定放前面优,因为放后面乘的dp[i][j]表示第i个机器分成j组后的最小值,dp[i][j] = min{dp[k][j-1

2014-02-19 22:34:02 1233

原创 Codeforces 393B Three matrices(数论)

题目链接:Codeforces 393B Three matrices题目大意:给出一个矩阵w,要求构造出两个矩阵a,b;要求a是对称矩阵a[i][j] = a[j][i],b是负对称矩阵b[i][j] = -b[j][i],并且a[i][j] + b[i][j] = w[i][j]。解题思路:a[i][j] + b[i][j] = w[i][j]; a[j][i] + b

2014-02-19 18:29:41 835

原创 Codeforces 393A Nineteen(水题)

题目链接:Codeforces 393A Nineteen题目大意:给出一个字符串,重排之后问说有多少个nineteen子串。解题思路:水题,但是要注意细节,现场就被hack了。首先前一个nineteen末尾的n可以给下一个nineteen用。其次n的个数小于3的情况。#include #include #include using namesp

2014-02-19 18:24:00 1460

原创 uva 1169 - Robotruck(dp+单调队列)

题目链接:uva 1169 - Robotruck题目大意:给出W和n,W表示机器人的限载重量,n表示有n个垃圾,然后给出n个垃圾的坐标和重量,要求清理垃圾按照垃圾的序号从小到大,机器人可以一次清理多个垃圾,只要重量不大于W,位于原点有垃圾桶,现在机器人从原点出发,要求清理完所有的垃圾的曼哈顿距离最小。解题思路:dp[i]表示清理完i号垃圾返回原点的最短曼哈顿距离,d[i]

2014-02-19 15:49:25 1563

空空如也

空空如也

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

TA关注的人

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