CodeForces
cysjiang
这个作者很懒,什么都没留下…
展开
-
CF370B
第一次写博客……【题意】 给一个字符串,问至少需要改变多少个才能使,字符串中‘L’ 的个数等于‘R’的个数,‘U’ 的个数‘等于‘D’。 【解析】 很容易想到如果字符串的长度为奇数数的话肯定是不可能完成的,就输出-1 同样的 L + R 和 U + D 也应该是偶数,那么判断一下,如果不是偶数的话就向另一对借一个,同时ans + 1;至于如何借,肯定是向另一对较大的那原创 2016-09-12 15:35:45 · 467 阅读 · 0 评论 -
codeforcesf382D-厉害的我的哥(德巴赫)
【题意】:某个人有n元的工资,但是他要交税,交税的数目就是n的最大因子。比如说6,他的因子有1,2,3;最大的是3,所以要交3元的税,但是这个人想偷税漏税(作为共产主义接班人的我们不能向他学习)。偷税漏税的方法就是他把这n元分成几部分,比如把6分成 3 和 3,那么他就只交2元税就可以了。但是不能这几部分都不能为1, 否则会被发现的。 【分析】:我们可以想想得到,把这几部分分成质数就好了,因为质数原创 2016-11-28 18:23:23 · 338 阅读 · 0 评论 -
CodeForces - 548B Mike and Fun (模拟)
记录每一行有多少个连续的,每次读入,更新点所在那一行就好了,查询的时候扫一遍,取最大值。#include<cstdio>#include<iostream>using namespace std;int a[1001][1001];int tot[10001];int n,m,q;int x,y;void updata(int x){ int cnt = 0; tot[x]原创 2016-12-17 16:28:55 · 244 阅读 · 0 评论 -
CodeForces 722C Destroying Array(并查集和我奇怪的二叉树)
【题意】 给你一个序列A, 然后一个序列B,按序列B的顺序依次删除第B[i]个数,问你当前最大连续字段和是多少,这段和不能包括被删除的数。 例如 4 1 3 2 5 3 4 1 2 删除第B[1] = 3个数事,最大字段和是第四个数5,然后依次是4 3 0. 【分析】 先来说说不靠谱的二叉树吧,在第32个点超时了。 我的思路是,每次删除一个数,必然会把一个区间分成两个区间,这样就可原创 2016-12-17 21:48:16 · 302 阅读 · 0 评论 -
Codeforces 745B (模拟)
【题意】给你一个拼图,问你两块一样的拼图能不能拼成一个矩形。 【分析】只要给的拼图本身是一个矩形,那就一定能拼成矩形了,否组就不行。扫描一遍找出拼图的上下左右的界线。看看符不符合题意就好了#include<iostream>#include<string>using namespace std;string s[1000];int main(){ int n, m, a, b, c,原创 2016-12-18 17:01:41 · 410 阅读 · 0 评论 -
CodeForces 586D Phillip and Trains(搜索)
【题目大意】题目描述的就是地铁跑酷的场景,主角向右走,或者向左走。每次移动,都是主角先向右移动一格,再选择向上或向下或直行(注意这个先后关系),然后火车再向左移动两格。我们可以从相对移动的角度去看,火车向左移动就相当于主角向右移动两格。这样就不用管火车了,只考虑主角移动就行了。 【程序】#include<iostream>#include<cstdio>#include<string>#in原创 2017-02-27 16:11:31 · 323 阅读 · 0 评论 -
codeforces#419 B q
题意:给你n个区间,然后给出m个查询区间,对于每次询问,输出这个区间里多少个点被不少于k个区间覆盖解析:求两次前缀和就好了#include#include#includeusing namespace std;int a[300000];int s[300000];int p[300000];int main(){ int n, m, k; while(~scanf(原创 2017-06-18 23:53:21 · 368 阅读 · 0 评论