![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CF
SAXYAM
这个作者很懒,什么都没留下…
展开
-
CodeForces #711(div.2) C. Planar Reflections (DP)
比较简单的dp题,关键是定义状态,看了大佬的状态之后恍然大悟。#include<iostream>#include<string.h>using namespace std;typedef long long ll;const int mod=1e9+7;const int N=1005;ll dp[N][N];//前方还有i个平面,强度为j的粒子。 //当粒子穿过i平面时,会产生一个平面数-1,强度不变的粒子。 //反弹时,会产生一个方向相反,强度-1的粒子。原创 2021-03-30 20:16:08 · 133 阅读 · 0 评论 -
F - Xorro the Xorman UTPC Contest 10-23-20 Div. 2
F - Xorro the XormanUTPC Contest 10-23-20 Div. 210进制转2进制,贪心,比较简单的一道题,队友是用dfs做出来的。周赛当时没做出来,居然是因为变量没有初始化,出现了玄学死循环,浪费了大量时间,赛后几个人一起研究才发现。立个flag,出一次傻逼问题。我就说一句我是傻逼。第一次,我是傻逼。...原创 2020-11-02 18:58:11 · 321 阅读 · 0 评论 -
Educational Codeforces Round 105 (Rated for Div. 2) B
题目名称: 棋盘题干:有一个n行n列的棋盘,初始情况下棋盘上无棋子,你可以在棋盘任意位置摆放棋子。4个整数数U R D L,问该棋盘是否可以满足一下所有条件:1.最上面一行恰好有U枚棋子2.最右边一列恰好有R枚棋子3.最下面一行恰好有D枚棋子4.最左边一列恰好有L枚棋子输入:多组输入一组为5个数 n U R D L输出:YSE or NOINPUT5 2 5 3 13 0 0 0 04 4 1 4 02 1 1 1 1OUTPUTYESYESNOYES提示:原创 2021-03-04 20:56:27 · 109 阅读 · 1 评论 -
E. Number of Simple Paths
传送门:Codeforces Round #686 (Div. 3)题意分析:给定一个n顶点n条边的联通图,求图中简单路径的数量。n顶点的树加了条边,必定会出现唯一环。经查资料这是一棵基环树。如果两个顶点的路径经过环内边,那么这两个顶点之间有2条路径,否则为1条。应该是可以用树形dp求出来的,我太菜了,不会。从反面做比较方便,先假设每一个顶点都在环内,在减去不在环内点减少的路径树。首先找到环,从环内每个顶点向外拓展,计算每个顶点子树的大小,减去相应的路径数量即为图中简单路径的数量。ac代码.原创 2020-11-26 22:05:38 · 187 阅读 · 0 评论 -
D. Number into Sequence (DFS)
qwq原创 2020-11-26 19:18:41 · 289 阅读 · 2 评论 -
F - Xorro the Xorman UTPC Contest 10-23-20 Div. 2
https://codeforces.com/gym/102783/problem/F题意:给定两个整数A,B(在long long 范围内) 求A异或1到B任意整数的最大值。解题思路:从1一直异或到B,显然会超时。既然是异或运算,我们首先将A B都转换为二进制。结果尽量大就是说,二进制的1尽量多,尽量大。就转换为贪心问题。 理想...原创 2020-11-26 19:05:42 · 249 阅读 · 0 评论 -
B. Non-Substring Subsequence(思维)
B. Non-Substring Subsequence题意:给定一个n位的01串,有q次询问,每次询问L R ,问整个01串中是否存在一个序列(至少有两个元素不相邻)和L到R范围内的01串(序列)相同。刚开始我还想着O(n)遍历一遍,发现不连续这个条件不好解决,因为不知道是哪两个元素不相邻。思路:题目要求找一个不连续的相等序列,我们发现头部/尾部的元素必须发生位置的改变,并且只要改变就满足了题目的条件。所以我们只需要判断,头部前面是否有和头部元素相等的元素。尾部同理。也可以遍历两遍预处理每个元素前原创 2020-11-23 21:06:20 · 398 阅读 · 0 评论 -
C. Engineer Artem(思维题)
C. Engineer Artem题意:给一个二维数组a,将a中的每一个元素+1或者保持原样,使其成为好数组(所有相邻元素不相等),思路:刚开始看错题目了,以为是求变成好数组最少的次数。由于数组中相邻元素的下标和i+j奇偶性不同,我们将i+j为奇数的元素变为奇数(保持或+1),i+j为偶数的元素变成偶数。这样所有相邻的元素奇偶性不同,也就不会相等了。ac代码:#include<iostream>#include<algorithm>#include<iomanip原创 2020-11-15 20:57:51 · 281 阅读 · 0 评论 -
C. Boats Competition (暴力,双指针)
C. Boats Competition codeforces暴力 双指针ac代码:#include<iostream>#include<algorithm>#include<iomanip>#include<set>#include<queue>#include<stack>#include<vector>#include<map>#include<string.h>#in原创 2020-11-13 22:01:26 · 279 阅读 · 0 评论 -
C. Omkar and Waterslide(贪心)
Codeforces Global Round 10题意:给定一个数组a 一次操作可以使一个不下降字串整体+1,求使整个数组a成为不下降数列的最小操作数。解:这道题的关键在于找出正确的贪心策略,需要自己编数据考虑各种情况。刚开始没考虑全WA了两发。这道题不难,但是做的时候不能急,十分考虑细节。数据分析:75 1 3 1 2 7 2 //这个数据对了大概就ac了先看前4个 手动模拟一遍最佳情况5 1 3 15 2 3 15 2 3 25 2 3 35 3 3 35 4 4 45原创 2020-11-13 21:58:28 · 175 阅读 · 0 评论 -
C. Good Subarrays(思维+前缀和)好题啊
codeforces Educational Codeforces Round 93 (Rated for Div. 2)题意:求n长度数组中区间和和为区间长度的区间个数。思路分析:首先想到用前缀和优化,如果直接前缀和判断每一个区间,时间复杂度为O(n*n),果不其然超时了。如果我们将数组中所有元素都-1,那么问题就简单了不少,符合条件的区间和为0。问题转换为求区间和为0的区间个数,就可以开始整活了。我们首先维护一个map<int,int> M;M[sum[i]]表示目前第i个元素为止原创 2020-11-09 21:24:40 · 257 阅读 · 0 评论 -
D. Extreme Subtraction(思维/差分) Codeforces Round #681
Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final)题意:给定一个长度为n的数组,可以使前k个或后k个元素-1,次数没有限制,问是否可以使所以元素同时为0。原创 2020-11-04 21:14:11 · 722 阅读 · 0 评论 -
C. The Delivery Dilemma(思维,贪心)
Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final)题意:张三今天过生日,需要准备n个菜,可是他又懒得做,每道菜有两种选择,1.点外卖(ai分钟送达)2.自己去拿(花费bi分钟)。点的所有外卖在张三第一次离开家的同时开始计算。张三一次亲自只能去拿一道菜。求张三备齐所有菜需要的最小时间。解题分析:贪心,思维题点外卖花费的时间是时间最长的外卖时间,自取花费的时间是所有自取菜品的时间和。总时间为两者的较大值。解题关键:最大外卖原创 2020-11-04 20:26:13 · 254 阅读 · 1 评论 -
B. Saving the City Codeforces Round #681
[B. Saving the CityCodeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final)](https://codeforces.ml/problemset/problem/1443/B)题意:给你一栋n层的楼,某些楼层装有炸弹,炸弹爆炸后相邻楼层的炸弹也会爆炸。有两种操作:引爆某层楼的炸弹(消耗a费)在任意一层添加炸弹(消耗b费)样例输入:21 1010000105 101101110样例输出:2原创 2020-11-03 21:35:09 · 115 阅读 · 0 评论 -
codeforces 1437B Reverse Binary Strings
题目链接:B. Reverse Binary Strings题意:给定一个偶数长度的01串,翻转任意一个字串,使整个串中01交替排列。思路: 题目一看到就是贪心思维题(结论题),看了看样例直接输出了连续1(11)的个数(不出意料在test 2就WA了)首先要知道,翻转一个子串只会改变子串首尾连接处01的状态(下文简写为P1)。很容易想到我们需要计算11的数量但是光看1是不够的,还需要考虑到0。接着就可以开始分析样例,编数据找答案了。样例3 11101000有三个11 三个00答案为2数据原创 2020-11-02 22:03:23 · 242 阅读 · 0 评论 -
B. Ternary Sequence(贪心)
Codeforces Round #665 (Div. 2) B. Ternary Sequence题意:有两个序列,给定序列中 0 1 2 的个数,求两个序列按某种方式排列后 ci的和最大。(ci计算如上图公式,很好理解)思路:第一时间想到贪心,通过分析ci的计算公式,可以发现,除了 ai=2 bi=1; ci=2; ai=1; bi=2 ci=-2; 其余情况ci都为0。也就是说只有对应a=2 b=1时对sum有贡献。由此可以想到以下贪心策略:最大化+2的情况int t=min(a2,b1原创 2020-10-26 21:20:23 · 376 阅读 · 1 评论 -
Codeforces Round #678 (Div. 2) B. Prime Square
题意:构造一个 n*n 的矩阵 使矩阵每一个数都不是素数,每行每列的和均为素数。简单构造题,只需把矩阵中的每个数赋为1,改变对角线位置的元素(i==j)要求:本身不是素数,行/列和为素数。(水题,直接从n开始向上枚举)#include<iostream>#include<algorithm>#include<iomanip>#include<set>#include<queue>#include<stack>#inc.原创 2020-10-25 21:48:02 · 126 阅读 · 0 评论