自定义博客皮肤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

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

原创 hdu 4901 The Romantic Hero(dp)

题目链接:hdu 4901 The Romantic Hero题目大意:给定一个序列,要求选出两个集合,S和T,要求S中选中的元素的下标都要小于T中元素的下标。并且说S中元素的亦或和要等于T中元素取且的和。解题思路:dp, 思路很好想,就是细节比较恶心。#include #include #include using namespace std;typedef __i

2014-07-31 23:47:51 1233

原创 uva 1489 - Math teacher's homework(数位dp)

题目链接:uva 1489 - Math teacher's homework题目大意:给定n,k,以及序列m1,m2,…,mn, 要求找到一个长度为n的序列,满足0=xi=mi, 并且x1XORx2XOR…XORxn=k解题思路:数位dp,在网上看了别人的代码,高大上。。。假设有二进制数 k : 00001xxxx mi:0001xxxxx, 那么对于xi即可

2014-07-30 22:30:07 1656 1

原创 uva 1478 - Delta Wave(递推+大数+卡特兰数+组合数学)

题目链接:uva 1478 - Delta Wave题目大意:对于每个位置来说,可以向上,水平,向下,坐标不能位负,每次上下移动最多为1, 给定n问说有多少种不同的图。结果对10100取模。解题思路:因为最后都要落回y=0的位置,所以上升的次数和下降的次数是相同的,并且上升下降的关系满足出栈入栈的关系。即卡特兰数。所以每次枚举i,表示有i个上升,i个下降,用组合数学枚举出位置,

2014-07-30 22:30:03 1312

原创 uva 1485 - Permutation Counting(递推)

题目链接:uva 1485 - Permutation Counting题目大意:给定n和k,要求求一个由1~n组成的序列,要求满足ai>i的i刚好有k个的序列种数。解题思路:dp[j][i]表示长度为i,j个位置满足的情况。dp[j+1][i]+=dp[j][i]∗(j+1);1, (3), (4), 2: 括号位置代表ai>i,既满足位置,此时i = 4

2014-07-30 22:15:26 1116

原创 hdu 4893 Wow! Such Sequence!(线段树)

题目链接:hdu 4983 Wow! Such Sequence!题目大意:就是三种操作1 k d, 修改k的为值增加d2 l r, 查询l到r的区间和3 l r, 间l到r区间上的所以数变成最近的斐波那契数,相等的话取向下取。解题思路:线段树,对于每个节点新增一个bool表示该节点以下的位置是否都是斐波那契数。#include #include #includ

2014-07-29 19:31:43 1163

原创 hdu 4891 The Great Pan(模拟)

题目链接:hdu 4891 The Great Pan题目大意:给出一个文本,问说有多少种理解方式。1. $$中间的,(s1+1) * (s2+1) * ...*(sn+1), si表示连续的空格数。2.{}中间,即 | 的个数+1.解题思路:模拟。#include #include #include using namespace std;

2014-07-29 19:25:25 1220

原创 【索引】BestCoder Round #2

Problem1001Problem1002

2014-07-28 14:35:43 663

原创 hdu 4886 TIANKENG’s restaurant(2)(hash+暴力)

题目链接:hdu 4886 TIANKENG’s restaurant(2)题目大意:给定一个字符串S,要求在该字符串中找到一个最短并且字符串字典序最小.解题思路:每次枚举字符串的长度,然后将S中所有该长度的子串映射成一个9进制数,最后再遍历一遍标记数组。#include #include #include using namespace std;const int

2014-07-28 14:28:03 1189

原创 hdu 4885 TIANKENG’s travel(bfs)

题目链接:hdu 4885 TIANKENG’s travel题目大意:给定N,L,表示有N个加油站,每次加满油可以移动距离L,必须走直线,但是可以为斜线。然后给出sx,sy,ex,ey,以及N个加油站的位置,问说最少经过几个加油站,路过不加油也算。解题思路:一开始以为经过可以不算,所以o(n2)的复杂度建图,然后用bfs求最短距离,结果被FST了。将点按照x坐标排序,这样在建

2014-07-28 14:22:11 1215 2

原创 hdu 4884 TIANKENG’s rice shop(模拟)

题目链接:hdu 4884 TIANKENG’s rice shop题目大意:TIANKENG开了个饭馆,提供n种炒饭,每次抄需要T的时间,每次可以炒K份,在炒的时候不可以接单,以及时间超过1天的情况。给组样例:11000 10 3 523:00 12 1023:01 99 923:05 100 423:10 12 1023:40 100 10解

2014-07-28 14:07:55 1680

原创 hdu 4883 TIANKENG’s restaurant(区间选点)

题目链接:hdu 4883 TIANKENG’s restaurant题目大意:n表示有n波客人,给定每波客人的人数,到达时间,离开时间,问说店里人数的最大值。解题思路:区间选点,也可以用数组模拟,因为时间只有24*60#include #include #include using namespace std;const int maxn = 10005;str

2014-07-28 14:02:09 932

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

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

2014-07-28 09:27:21 1336

原创 uva 11290 - Gangs(卡特兰数)

题目链接:uva 11290 - Gangs题目大意:给出n和k,表示要构造一个长度为2*n-2的字符串,OG序列为k的字符串(类似于出栈入栈)。如果字符s2先回到原点(即栈空),那么s2 OG s1如果s1和s2同事回答原点,那么忽略头尾的ES进行比较如果s1和s2的前t个相同,扣掉前t个字符考虑解题思路:出栈入栈的个数是卡特兰数,每次考虑两个部分Sstr1Estr2

2014-07-27 23:17:48 1619

原创 uva 10458 - Cricket Ranking(容斥+高精度)

题目连接:uva 10458 - Cricket Ranking题目大意:给定k和n,表示有k个比赛,总共要的n分,每个比赛可以得l~r的分数,问说可以有多少种得分方式。解题思路:容斥,可以参考Codeforces 451E.#include #include #include using namespace std;typedef long long ll;con

2014-07-27 16:24:31 1273

原创 uva 1510 - Neon Sign(计数)

题目链接:uva 1510 - Neon Sign题目大意:给定n个点,任意三点不共线,并且两两点之间有一条线,给定线的颜色。问说有多少个三角形三边同色。解题思路:对于每个点,记录该点黑色边的数量和红色边的数量,考虑以该点为顶点的三角形,从红色边中选一条,黑色边中选一条,组成的三角形一定是不满足的。因为一个不同色三角形会有两个点满则,所以考虑了两次。用总的个数减掉不同色的即可。

2014-07-27 15:12:15 1610

原创 uva 1390 - Interconnect(期望+哈希+记忆化)

题目连接:uva 1390 - Interconnect题目大意:给出n表示有n个点,m表示有m条边,现在任选两点建立一条边,直到整个图联通,问说还需建立边数的期望,建过边的两点仍可以建边。解题思路:哈希的方法很是巧妙,将各个联通分量中节点的个数c[i]转换成一个30进制的数(因为节点个数最多为30),因为结果很大,所以对1e5+7取模。获得的哈希值作为插入和搜索的起点。#in

2014-07-27 14:24:24 1840

原创 uva 10671 - Grid Speed(dp)

题目链接:uva 10671 - Grid Speed题目大意:给出N,表示在一个N*N的网格中,每段路长L,现在给出h,v的限制速度,以及起始位置sx,sy,终止位置ex,ey,时间范围st,et,车只走最短路,问说在范围内最快到达和耗油量最小的情况下时间和耗油量。解题思路:dp[x][y][t]表示在x,y这一点,时间为t的耗油量最小为dp[x][y][t],vis[x][

2014-07-27 11:35:16 1271

原创 【索引】Designing Efficient Algorithms:Examples:Advanced

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 1. Algorithm Design::Designing Efficient Algorithms:Examples:Advanced

2014-07-26 21:26:15 869

原创 uva 1444 - Knowledge for the masses(高效)

题目链接:uva 1444 - Knowledge for the masses题目大意:给出R和L,R表示有R行,L表示一行的最大长度。对于每一行,给出n,然后是n个数,arr[i]为0表示空格,长度为1,否则表示书架,长度为arr[i]。现在人要从上边走到下边,问说最少移动几个书架,并且输出可以通过的路径坐标。解题思路:c[i]表示第i个坐标有多少行可以通过,当c[i]==

2014-07-26 21:22:58 1261

原创 uva 1511 - Soju(贪心)

题目链接:uva 1511 - Soju题目大意:给出两个点集,问说分别从两个点集中取一点的哈夫曼距离最小值。注意一个点集的x坐标小于0,另一个大于0.解题思路:因为x2一定大于x1,所以对于x这一维,一定是+x2-x1,所以只需要考虑y这一维坐标即可。#include #include #include #include #include using namesp

2014-07-26 15:40:05 1063

原创 【索引】Codeforces Round #258 (Div. 2)

Problem A: Game With Sticks(451A)

2014-07-25 11:07:11 858

原创 Codeforces 451E Devu and Flowers(容斥原理)

题目链接:Codeforces 451E Devu and Flowers题目大意:有n个花坛,要选s支花,每个花坛有f[i]支花。同一个花坛的花颜色相同,不同花坛的花颜色不同,问说可以有多少种组合。解题思路:2n的状态,枚举说那些花坛的花取超过了,剩下的用C(n−1sum+n−1)隔板法计算个数,注意奇数的位置要用减的,偶数的位置用加的,容斥原理。#include #inc

2014-07-25 11:01:03 3506 4

原创 Codeforces 451D Count Good Substrings(组合数学)

题目链接:Codeforces 451D Count Good Substrings题目大意:定义good string,就是就一个字符串的连续相同字符用一个该字符替代后,形成回文串的字符串。现在给出一个字符串,问说该字符串的子串中,为good string的串有多少个,分长度为奇数和偶数的输出。解题思路:因为字符串的组成为a和b,所以只要是头尾相同的子串都是满足的。所以我们计算在

2014-07-25 10:55:26 1644

原创 Codeforces 451C Predict Outcome of the Game(暴力)

题目连接:Codeforces 451C Predict Outcome of the Game题目大意:题意有点坑,就是三支球队有n场比赛,错过了k场,即这k场比赛不知道输赢,只知道第一支球队和第二支球队胜局情况差d1,第二和第三差d2,问说最后有没有可能三支队伍胜局数相同。解题思路:考虑四种情况下的场数u,是否为3的倍数,u/3后是否比当前情况下胜局数最高的队伍大,并且还要判断

2014-07-25 10:45:01 1478 5

原创 Codeforces 451B Sort the Array(水题)

题目连接:Codeforces 451B Sort the Array题目大意:给出一个长度为n的序列,可以有一次机会旋转a[l]到a[r]之间的数,问说可否形成一个递增序列。解题思路:将数组排下序,然后从前向后,从后向前寻找不同到位置,这段l~r是一定要旋转的,然后判断旋转后的符不符合递增。注意l>r的情况。#include #include #include usi

2014-07-25 10:37:24 1616

原创 Codeforces 451A Game With Sticks(水题)

题目链接:Codeforces 451A Game With Sticks题目大意:给出n,m,表示有n根水平的木棍,m根竖直的木棍,每次选取一个交点,取掉相应的两根木棍,直到不存在交点位置。解题思路:水题,直接判断min(n,m)为奇数还是偶数。#include #include #include using namespace std;int main () {

2014-07-25 10:33:17 1596

原创 hdu 4873 ZCC Loves Intersection(大数+概率)

题目链接:hdu 4873 ZCC Loves Intersection题目大意:给出N,D,表示在一个D维的坐标上,坐标范围为0~N-1。在这个坐标系中有D条线段,分别平行与各个坐标轴,每秒会根据题目中的伪代码随机生成各个线段的位置。两条直线相交的话会得一分,问每秒得分的期望。解题思路:总的情况(ND−1∗C(2N))D,两条直线相交的得分C(2D)∗s2∗ND−2∗(ND−2∗

2014-07-24 21:54:50 1322

原创 hdu 4882 ZCC Loves Codefires(贪心)

题目链接:hdu 4882 ZCC Loves Codefires题目大意:就是CF的比赛,根据时间的推迟会相应的扣掉题目的分数,问说最少扣几分。解题思路:相邻交换法,判断两个题目之间的比率确定前后位置。#include #include #include using namespace std;const int maxn = 1e5+5;typedef __in

2014-07-24 21:24:15 1262

原创 hdu 4876 ZCC loves cards(暴力)

题目链接:hdu 4876 ZCC loves cards题目大意:给出n,k,l,表示有n张牌,每张牌有值。选取其中k张排列成圈,然后在该圈上进行游戏,每次选取m(1≤m≤k)张连续的牌,取牌上值的亦或和。要求找到一个圈,使得L~R之间的数都可以得到,输出R。如果R 解题思路:暴力,首先预处理出来每种选取的亦或值,然后在该基础上从可以组成L的状态中挑选一个,L+1的状态中挑取一个

2014-07-24 21:14:16 1068

原创 uva 10825 - Anagram and Multiplication(暴力)

题目链接:uva 10825 - Anagram and Multiplication题目大意:给出m和n,要求找一个m位的n进制数,要求说该数乘以2~m中的任意一个数的结果是原先数各个位上数值的一个排序。解题思路:枚举最后一位数,然后用这个数去乘以2~m并对n取模,然后得到的数一定就是这个数的组成,暴力搜索一下并判断。#include #include #include

2014-07-24 10:03:46 1927 1

原创 uva 12326 & hdu 4092 - Yummy Triangular Pizza(哈希+打表)

题目链接:uva 12326 &hdu 4092 Yummy Triangular Pizza题目大意:给出n,表示用n个正三角形去组成图形,问可以组成多少种不同的三角形,旋转,镜像,都算同一种。解题思路:参考别人的思路,很巧妙,主要就是建立三维坐标轴。 正立三角形x+y+z = 0倒立三角形x+y+z ≠ 0这样从初始装态为0 0 0的三角形开始逐

2014-07-23 23:24:39 2713

原创 uva 1341 - Different Digits(数论+bfs)

题目链接:uva 1341 - Different Digits题目大意:给定一个数字n,要求求一个数字m,m可以整除n,并且尽量组成的数字种类(0~9)尽量少,在种类相同的情况下数值尽量小。解题思路:可以证明两种数字肯定可以组成m,假设有数字k,一种数字可以有k,kk,kkk,kkkk,…整除n剩的数一定在0~n-1之间,所以肯定存在两个由k数字组成的数字同模,那么这两个数相减所

2014-07-23 20:23:29 1365

原创 【索引】General Problem Solving Techniques:Examples:Intermediate

AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu)Chapter 1. Algorithm Design::General Problem Solving Techniques:Examples:Intermediate

2014-07-23 20:20:32 1048

原创 uva 279 - Spin(递推)

题目链接:uva 279 - Spin题目大意:进行一个游戏,给出初始状态,要求问说最少多少步可以让所有的环移动出来。移动规则如图所示。解题思路:一开始以为是隐式图搜索,写完TLE了。后来发现这道题和汉诺塔是一个思路,都是采取最优策略,并且说左边环的状态不会影响右边环。所以dp[i]表示从右边数,第i个为v,其他均为h的步数(由全h变换至)。模拟最优过程有dp[i]=dp[i−

2014-07-23 12:09:29 1279

原创 hdu 4869 Turn the pokers(数学)

题目链接:hdu 4869 Turn the pokers题目大意:给定n和m,表示有n次翻牌的机会,m张牌,一开始所有的牌均背面朝上,每次翻牌可以选择xi张牌同时翻转。问说最后有多少种能。解题思路:只要确定最后正面朝上的牌的个数即可。所以在读入xi的时候维护上下限即可。#include #include #include using namespace std;ty

2014-07-22 23:22:16 1186

原创 hdu 4869 Task(贪心)

题目链接:hdu 4869 Task题目大意:有n台机器,m个任务,每个机器和任务都有有xi和yi,要求机器的xi,yi均大于等于任务的xi和yi才能执行任务。每台机器一天只能执行一个任务。要求完成的任务数尽量多,并且说金额尽量大。完成每个任务的金额为xi∗500+yi∗2解题思路:贪心,mach[i][j]表示等级为i,时间为j的机器数量,task[i][j]表示等级为i,时间为

2014-07-22 21:15:27 1109

原创 hdu 4861 Couple doubi(数论)

题目链接:hdu 4861 Couple doubi题目大意:两个人进行游戏,桌上有k个球,第i个球的值为1i+2i+⋯+(p−1)i%p,两个人轮流取,如果DouBiNan的值大的话就输出YES,否则输出NO。解题思路:首先是DouBiNan先取,所以肯定优先选取剩余中值最大的,于是不存在说DouBiNan值小的情况,只有大于和小于。然后,对于val(i)=1i+2i+⋯

2014-07-22 21:02:03 2140

原创 uva 646 - The Gourmet Club(暴力)

题目链接:uva 646 - The Gourmet Club题目大意:有16个人参加聚会,聚会一共5天,每天有4桌,每桌4个人,一起吃饭的4个人会互相认识。现在要安排座位使得16个任意两个人都互相认识。给出前三天的安排,求后两天的安排。解题思路:任意两个人之间肯定只能同桌一次。所以根据这个条件,只要枚举出第4天的第1桌的情况,就可推导出所有的,或者是矛盾。在Poj和Zoj

2014-07-21 22:31:25 1647

原创 uva 219 - Department of Redundancy Department(dfs+剪枝)

题目链接:uva 219 - Department of Redundancy Department题目大意:给定一些关系,问哪一些关系是可以被替代的,如果可以被替代,给出替代的方案,一种即可。解题思路:因为总共也就26个字母,所以用二进制数表示状态。剪枝,每次将所有可选关系均考虑进去都无法满足则是false。#include #include #include usi

2014-07-21 22:20:01 1208

原创 uva 1509 - Leet(暴力)

题目链接:uva 1509 - Leet题目大意:给出k,表示一个字符可以对应k给字符编码,给出字符串1,问时候有符合的编码可以生成字符串2.解题思路:暴力枚举,对于每个碰到的字符记录对应的编码。#include #include #include using namespace std;const int maxn = 105;const int maxc =

2014-07-21 15:07:19 1180

空空如也

空空如也

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

TA关注的人

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