cf专题

cf 164 C 费用流

给你n个任务,k个机器,n个任务的起始时间,持续时间,完成任务的获利 每个机器可以完成任何一项任务,但是同一时刻只能完成一项任务,一旦某台机器在完成某项任务时,直到任务结束,这台机器都不能去做其他任务 最后问你当获利最大时,应该安排那些机器工作,即输出方案 具体建图方法: 新建源汇S T‘ 对任务按照起始时间s按升序排序 拆点: u 向 u'连一条边 容量为 1 费用为 -c,

CF 508C

点击打开链接 import java.util.Arrays;import java.util.Scanner;public class Main {public static void main(String [] args){new Solve().run() ;} }class Solve{int bit[] = new int[608] ;int l

【CF】C. Glass Carving(二分 + 树状数组 + 优先队列 + 数组计数)

这题简直蛋疼死。。。。。 A了一下午 #include<cstdio>#include<queue>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int maxn = 200005;int h,w,n;int C1[maxn],C2[maxn];int

【CF】E. Anya and Cubes(双向DFS)

根据题意的话每次递归分3种情况 一共最多25个数,时间复杂度为3^25,太大了 我们可以分2次求解第一次求一半的结果,也就是25/2 = 12,记录结果 之后利用剩余的一半求结果 s-结果 = 之前记录过的结果 就可以 时间复杂度降低为 3 ^ (n/2+1) 题目链接:http://codeforces.com/contest/525/problem/E #include<set

【CF】D. Arthur and Walls(BFS + 贪心)

D题 解题思路就是每次检查2X2的方格里是否只有一个‘*’,如果有的话这个*就需要变成‘.’,利用BFS进行遍历,入队的要求是这个点为. 一开始将所有的'.'全部加入队列,如果碰到一个'*'变成'.'就入队,判断的时候从4个方向就行判断 题目链接:http://codeforces.com/contest/525/problem/D #include<cstdio>#include<

CF#271 (Div. 2) D.(dp)

D. Flowers time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/474/problem/D We s

CF Bayan 2015 Contest Warm Up B.(dfs+暴力)

B. Strongly Connected City time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/475/probl

CF Bayan 2015 Contest Warm Up A.(模拟+预处理)

A. Bayan Bus time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/475/problem/A The fi

CF #278 (Div. 2) B.(暴力枚举+推导公式+数学构造)

B. Candy Boxes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/488/problem/B There

CF#278 (Div. 2) A.(暴力枚举)

A. Giga Tower time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/488/problem/A Giga To

CF #283 (Div. 2) B.(字符串好多坑)

题目链接:http://codeforces.com/contest/496/problem/B 解题思路: 首先明确可以暴力,写一个add函数和shift函数。然后给一个循环值cnt,做cnt次循环即可,每次取两种情况的最小值入字符串数组,最后排下序,输出最小的字符串。 这个cnt很不好控制,我也是WA了几次才估计出来的······· 接下来说说奇葩的数据: Input: 1

CF#284 (Div. 2) C.(几何规律)

题目链接:http://codeforces.com/contest/499/problem/C 解题思路: 把两个点的坐标分别带入方程组,如果最后两个值相乘为负,即异号,计数器++。其中有一个有趣的现象,从A到B的最短步数,可以变化为求A和B之间夹了多少条直线,那么最后只要求出直线数,即可求出最小步数。 如果一条直线夹在A和B中间,那么把A和B的坐标带入后,所得值相乘一定为负。数据很

CF #284 (Div. 2) A.(模拟)

题目链接:http://codeforces.com/contest/499/problem/A 解题思路: 模拟过程,如果step + x < k[i].l,那么跳过x分钟;否则计数器 + k[i].l - step + (k[i].r - k[i].l),更新step为k[i].r + 1,同时i ++ 。 完整代码: #include <functional>#in

CF#284 (Div. 2) B.(暴力)

题目链接:http://codeforces.com/contest/499/problem/B 解题思路: 开一个is变量记录每组单词最后应该输出哪个。最后每次把原来的数组暴力扫一遍即可。 完整代码: #include <functional>#include <algorithm>#include <iostream>#include <fstream>#inc

CF #283 (Div. 2) A.(屏蔽数组元素)

题目链接:http://codeforces.com/contest/496/problem/A 解题思路: n不是很大,所以暴力。每次屏蔽掉a[ i ]中的一个元素,注意头和尾不能屏蔽。屏蔽后当i == j 时做特殊处理,即cnt = a[ i+ 1 ] - a[ i - 1 ]。最后更新最小值即可。 完整代码: #include <functional>#includ

每日一题~cf 970 div3 (A思维,B小模拟,C二分,D排列数建图成环,E 26个字母暴力+前缀和,F 逆元,G 数论gcd )

A 题意: 有 a 个1 ,b 个2.问是否能将这些数划分为两个数值相等的集合。 输出 YES 或者 NO —————— 问题等价于 将数组 分成两个数值相同的数组。所以sum 应该是偶数。也就是说 1 的个数是偶数。在i1的个数是偶数的情况下,将 2 分成两份,如果2 的个数是偶数,OK。如果是奇数那么需要1来补齐,如果1 的个数大于等于2那么可以补齐。(1 的个数是偶数,需要2个1来补齐,剩下

cf 805d

We have a string of letters ‘a’ and ‘b’. We want to perform some operations on it. On each step we choose one of substrings “ab” in the string and replace it with the string “bba”. If we have no “ab”

cf 259 b幻方

B. Little Elephant and Magic Square time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little Elephant loves magic squares very much

SDUT2889_爱上CF(模拟)

爱上CF Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 CF,codeforces不是Crossfire。身为一个Acmer,RE大神与Soaring大神最喜欢做每五天一次的CF,从11:30到1:30,然后和逗比学长们一起等着跑数据等到两点半,然后再一起嘲笑一坨学长和柴爷,实在是人生一大快事。

【几何+暴力】-CF-391D1-Supercollider

题目链接:http://codeforces.com/problemset/problem/391/D1 题目描述:给出若干条平面上线段,找出最大的正“+”形边长多少? 解题思路: 不难,但是判断两直线相交要考虑全面。数据不大不多,暴力直接过了。 AC代码: #include <iostream>#include <cmath>#include <cstring>#inclu

【简单题】-CF-390B-Inna, Dima and Song

题目链接:http://codeforces.com/problemset/problem/390/B 题目描述: 两个小盆友弹钢琴,a 数组中的值代表他们分别都能弹到的最高调。如果二者弹出的音调 v1、v2 加起来正好等于 b 数组对应标准音调的话就会增加 v1 * v2 点愉悦值,无法弹出正确音调则愉悦值减一,求愉悦值最大多少? 解题思路: 坑点有二, ①:要用 long long!

题解:CF 1200 F Graph Traveler

Codeforces AC 提交记录 题意 有一张图,可重边可自环。行走规则:初始时有一个值 c c c 和所在的点 x x x,到达一个点就将 c c c 加上点权 k x k_x kx​,每次可以走从点 x x x 连出去的第 c % m x c\%m_x c%mx​ 条边,到达下一个点。有 q q q 个询问,给你 x x x 和 c c c,问在行走过程中有几个点会经

CF C. Candy Store

原题链接:Problem - C - Codeforces 题意:多测,先给出n代表n种糖果,每种糖果分别给出数量和单价,可以将糖果平均分成若干袋,每一袋的的价格是一袋糖果数量×单价,对于每一种糖果都求出一袋的价格,对于每种糖果都需要用标签贴出一袋的价格,但是如果相邻的糖果价格相同,那么就可以用一个标签来代表价格,问最少使用几个标签。 思路:如果一段糖果价格是一样的,那么设置价格为cost。因

CF #364 (Div. 2)(C. They Are Everywhere 尺取法)

题目链接 题目描述的是抓取精灵,转化一下,就是问在一个长度是n的字符串里面,你选择最短的字串,使得这个字串包涵该字符串中所有的字母至少一次。 假设我们知道区间[s,t]的不同字母个数,那么可以计算出[s+1,t1],那么t1>=t, 也就是直接尺取法搞一下就好了 #include<cstdio>#include<algorithm>#include<iostream>#include<

CF #364 (Div. 2) (B. Cells Not Under Attack 标记)

题目连接 在一个n*n的网格上,若果某个位置上放了一个棋子,那么棋子所在的行和列就算被覆盖了,每次放一个棋子问剩余的没有覆盖的点有几个 使用,两个数组分别标记行和列,在用两个变量保存X集合的可用数,Y集合的可用数,那么放入一个棋子,检查下X,Y集合就好了 #include<cstdio>#include<algorithm>#include<iostream>#include<vect

思维+二分,CF 1019B - The hat

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1019B - The hat 二、解题报告 1、思路分析 一个很关键的信息就是 相邻两个人拿到的数相