codeforces
liujc_
这个作者很懒,什么都没留下…
展开
-
Codeforces #288 B
居然一直wa,也是醉了,原来把题目中的长度10^5看成是数字在10^5以下,默默地用了int再转化成字符串。。。。结果第10组就悲剧了。。。题目还是要看清楚的。。。还有就是以为给的数可能是偶数····,结果题目清楚的说了只会是奇数。。。#include#includechar s[100100];int is_even(int a){ if((a-'0')%2==0) retu原创 2015-01-28 10:38:06 · 524 阅读 · 0 评论 -
codeforces 479C Exams 排序贪心
题目链接:http://codeforces.com/problemset/problem/479/C 题意: 给出n个考试,对于每一个考试有一个规定的考试时间ai,有一个可以提前进行考试的时间bi,(bi < ai),但是对于每一个考试,老师都只会在本子上记录下时间ai,想让本子上的时间是一个不降的序列。求最早多久能完成考试。 思路: 既然本子上的时间必须是不降的,那么考虑对ai进行排序,原创 2015-09-05 17:01:33 · 913 阅读 · 0 评论 -
codeforces 482 B Interesting Array 线段树区间更新
题目链接:http://codeforces.com/problemset/problem/482/B 题意: 给定n,表示序列的长度,给m个操作,每个操作有l,r,p, 表示al~ar 按位与起来结果是p。对于这m个操作能不能找出一个满足的序列长度为n。如果可以输出yes,并输出序列。否则no。 思路: 运用线段树维护每个区间的&结果。 假设已经有第一个操作对一个区间进行了,那么现在这个原创 2015-09-06 11:49:11 · 566 阅读 · 0 评论 -
codeforces B. Trees in a Row
题目链接:http://codeforces.com/contest/402/problem/B 题意: 给一段序列代表树的高度,然而女王想要将这段序列变成等差序列。请问最少改变几棵树,如何改变。。 思路: 这题一开始思路没搞对。。。其实看一下数据范围,1000*1000,暴力也是可以搞得。暴力最开头的那个树的高度,枚举0~1000,判断当前情况需要改变几棵树。搞定。。 但是还有一种比较快原创 2015-09-05 16:26:01 · 532 阅读 · 0 评论 -
codeforces 487 C Prefix Product Sequence 构造+逆元
链接:http://codeforces.com/problemset/problem/487/C原创 2015-09-06 16:47:08 · 466 阅读 · 0 评论 -
codeforces 484 B Maximum Value 排序+二分 + 数学
链接:http://codeforces.com/contest/484/problem/B 题意:给定长度为n的序列,要求序列中 ai % aj 最大的值是多少。 思路: 给定的n为10510^5,直接暴力O(n2)O(n^2)肯定是不行的。 首先可以明确,aj如果越大的话,那么取模后的值就可能越大,因为取模后只能在0~aj -1 这些数之中了。 又因为在这道题中,序列的顺序并没有用,所原创 2015-09-06 14:26:46 · 335 阅读 · 0 评论 -
CodeForces 402D Upgrading Array
http://codeforces.com/problemset/problem/402/D 题意: 给了一串序列,计算出这个序列最小的∑\sumf(a[i])f(a[i])。定义了f(s)f(s),给了个公式。可以进行一系列的操作,这个操作为从1~r 这些数都除以他们的gcd。让你最后算出最后最小∑\sumf(a[i])f(a[i])是多少。当然如果不需要进行操作就可以达到最小,也是可以的。原创 2015-08-21 15:36:54 · 946 阅读 · 0 评论 -
codeforces 156C Cipher 组合数学 字符串dp
链接:http://codeforces.com/problemset/problem/156/C 题意: 给定一个字符串,有两种操作。1)选一个位置Sp, 将Sp的字母往后一位(例如a->b),Sp+1的字母往前一位。2)选一个位置Sp, 将Sp的字母往前一位(例如a->b),Sp+1的字母往后一位。(z没有后一位,a没有前一位) 定义两个字符串一致意味着由一个字符串进行n次这种操作后可以变原创 2015-09-08 19:59:26 · 630 阅读 · 0 评论 -
codeforces 482 B Interesting Array <STL map 的运用>
题目链接:http://codeforces.com/problemset/problem/482/B 题意: 需要量出x,y这两种长度,给定n个刻度,给的第一个刻度一定是0。要求最少加几个刻度,才可能量出这两种长度。 并写出加的刻度在哪。 思路: 先考虑要加几个刻度,只有三种可能,0 1 2 。 1)考虑不需要加刻度的情况,对于x来说,要有一个刻度i,还要有i+x的刻度,这样就不需要加x原创 2015-09-06 13:42:22 · 452 阅读 · 0 评论 -
codeforces 487 A Fight the Monster 暴力枚举
链接:http://codeforces.com/problemset/problem/487/A 题意: 给定自己以及怪物的血量,攻击,防御,定义每次攻击扣的血都是对方的攻击-自己防御,当然如果防御比对方的攻击高则不扣血。有三种药品,分别是加血,加攻,加防。给定每种药品的价格。判定如何花最少的钱打败怪兽,定义打败为自己的血量>0 ,并且怪兽的血量<= 0。 思路: 暴力枚举,因为可以知道防原创 2015-09-06 15:46:12 · 504 阅读 · 0 评论 -
zoj 3735 概率dp
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3735 题意: 你有一只三个角色的队伍,需要打败所有电脑的队伍才能获胜,打赢一个之后,可以将你的队伍成员全部换成是被你打败的那个,当然也可以不换。 给了M个角色,R = C(M,3)表示队伍数,给了个矩阵表示每种队伍之间对战的胜率。 思路: 概率dp着实还是没有原创 2015-08-29 13:36:40 · 423 阅读 · 0 评论 -
codeforces 14D Two Paths dfs
http://codeforces.com/problemset/problem/14/D 题意: 找出两条路径的长度乘积最大,要保证这两条路径没有公共的点,如果找不到就输出0。 思路: 枚举每一条边,删掉这条边,对于这两个点进行dfs,从每个点开始走找出两条最长的路,path就是这两条路之和。两个点的path相乘判断能不能更新答案。 要小心的就是要从每个点找出两条路,不能直接找下去。这里原创 2015-08-17 14:07:00 · 716 阅读 · 0 评论 -
Codeforces #288 A
一开始将读入的坐标都减了一才传入函数中结果会有数组越界的情况,为了避免分了好多情况···· 发现将数组开大一点然后都赋初值为零,,直接传入就不用分情况·····思路很清晰 就是读入将这坐标赋为1然后看下周围是否有满足条件的。。。#include#includeint a[1050][1050];int n,m;int s1[100100];int s2[100100];int原创 2015-01-28 15:27:42 · 503 阅读 · 0 评论 -
cf 296 B
链接:http://codeforces.com/contest/527/problem/B一开始还有有点纠结交换的两个数字的前后顺序,然后我就用了个n*n的。。结果超时了。。去看了下前几名的代码,自己确实没有想到这样的方法。。简单来说思路就是,将两个字符串中不相等的字母对取出来,开一个p[26][26]的数组保存,存下这个字母对所占的位置。。遍历每个位置,全部找出来。。然后先看看原创 2015-03-18 22:07:35 · 952 阅读 · 0 评论 -
codeforces 510B dfs
题目链接:http://codeforces.com/problemset/problem/510/B题目大意:找出一个相同字母的环,之前作比赛的时候就一直超时,写的挫的要死的dfs,今天又看到这题,又来做了下,还是运用dfs思路:运用dfs进行查找,并将每个点进行标记,如果找到之前已经标记过的点,那么就说明了这个形成了一个环啊。但是这里有个问题就是,如果一个点进行深搜的时候找到了他的上一原创 2015-04-18 15:17:09 · 847 阅读 · 0 评论 -
codeforces 334B
http://codeforces.com/problemset/problem/334/B题目大意:给你8个点,看是否能够竖着切三刀,横着切三刀。换句话说就是有3个xi,3个yi,可以组成任意的(xi.yi)除了(x2,y2)。思路:用一个结构体存储。将所有点进行一个排序,x小的在前面,如果相同y小的在前面。判断s[0]到s[2] 是否x都是一样的,且y都是不一样的。再换一列,先看是否在原创 2015-04-18 16:09:24 · 517 阅读 · 0 评论 -
codeforces 343C Read Time 二分 + 贪心
http://codeforces.com/problemset/problem/343/C 题意: 有一些磁头,给出了起始的位置,给出了一些磁盘中需要访问的地点。求这些磁头移动的最小的次数。 思路: 二分找出满足要求的最小的时间,对于当前尝试的时间进行贪心判断是否可用。对于贪心,因为每一个磁头都需要读到还没有人读过的最左边的地方。如果这个都不能满足,那么这个时间是不可以的。 在这基础上,原创 2015-08-25 14:35:46 · 1015 阅读 · 0 评论 -
codeforces 309A Morning run 概率
http://codeforces.com/problemset/problem/309/A 题意: 给定n 个人,给定长度为 l 的环形跑道,同时开始跑 t 时间,求相撞次数的期望,注意相撞之后,两个人还是按照原来的方向跑下去。 分析: 如果两个人是同向的话肯定是不可能相撞的 1)如果时间无限的话,那么任意两个人相撞的时间的就是x/2x/2、x/2+l/2x/2 + l/2、x/2+lx原创 2015-08-25 16:22:50 · 711 阅读 · 2 评论 -
codeforces 479E Riding in a Lift dp+前缀数组优化
http://codeforces.com/contest/479/problem/E dp,我这dp弱狗都看出来了,这题dp不是很难想到,比较不容易的是如何优化,使得不会T。 题意: 给定一个启示的楼层a,有一个不能去的楼层b,对于你可以去的下一个楼层必须满足你当前楼层x与下一个要去的楼层y的距离小于x到b的距离。求出走k趟的方案数。 思路: 可以定义dp[i][j]表示第i趟的时候到第原创 2015-08-22 11:02:23 · 883 阅读 · 0 评论 -
codeforces 567F mausoleum dp
http://codeforces.com/problemset/problem/567/F dp 没有想出来,感觉这题还是比较有意思。 题意: 有n个数,要求放置。每个数要放置两次。要求最后整个序列的顺序是先不减后不增。还给出了k个限制条件。求满足这些条件的序列的总数。 思路: 还是比较容易想到是用dp做的。就是不知道怎么转移状态。。。orz 因为小的数字总是要在大的数字的两边的,可原创 2015-08-21 14:18:14 · 1126 阅读 · 0 评论 -
08/13 D -> codeforces Round #Pi div 2 E. President and Roads 最短路变形
链接:http://codeforces.com/contest/567/problem/E 题意: 总统只走最短路,给了一个有向图,对于每条边判断是否一定走这条路,如果一定输出 yes如果不一定,那么是否可以减少这个边的权值使得总统一定走这条路,如果可以输出最少减少多少 can ** ,如果不行 输出no。 分析: 对于每个图可能有不只一条的最短路,要找出每条边是否一定要走,如果这条边是在原创 2015-08-15 13:56:35 · 705 阅读 · 0 评论 -
codeforces 460 C Present 二分+贪心 最大化最小值问题
链接:http://codeforces.com/problemset/problem/460/C 题意: 给定n个树,给m天,长度w。可以浇水m天,每天浇水可以使长度为w的连续的这部分树增高 1 。要求浇水之后,这些树的最小值最大是多少。思路: 典型的最大化最小值问题。用二分查找这个最小值,并判断这个值能否作为最小值,如果可以更新low,变大这个最小值,不行则更新high。 判断的时候,要原创 2015-09-06 19:24:32 · 551 阅读 · 0 评论