首页 > 其他分享 >Codeforces Round 862 (Div. 2)A-C思路复盘

Codeforces Round 862 (Div. 2)A-C思路复盘

时间:2023-04-03 19:13:45浏览次数:42  
标签:题意 字母 862 Codeforces 抛物线 数组 字符串 Round 字典

感觉这场前三题都简单,复盘一下赛时的脑回路QAQ,c二分wa了四发赛后才过的血亏

A

题意:问是否能找到一个数x,有\(b_i = a_i⊕x\) ,使得\(b\)数组的总异或和为0。
思路:赛时模拟样例可以发现先把a数组的总异或和求出来假设为x,然后由异或性质可知相同为0,不同为1,可知这个x可能就是答案。然后再根据题意造个b数组验证一下即可。

B

题意:假定一次操作可以将字符串中的任意一个字母删掉,然后把这个字母放到字符串最前面。问能否通过一次操作,求出给定字符串操作后有最小字典序的结果。
思路:我们可以先把字符串中每个字母最后一次在字符串中出现的次数用map记录一下,然后再用一个a数组记录26个字母是否出现过。要求最小字典序的字符串,直接贪心的把字典序小的放到前面就可以。所以可以遍历a数组,相当于从字典序最小的a开始找每个字母最后一次出现的位置,如果找到了,直接取这个字母最后一次出现的下标,记录一下这个字母,然后用erase删除之后输出即可。

C

题意:给n条过原点的直线和m个抛物线,问能否为每一条抛物线匹配一条不和他相交的直线,可以为不同抛物线匹配同一条直线。
思路:根据直线方程\(y=kx\)和抛物线公式\(y=ax^2+bx+c\)联立可得公式\(ax^2+(b-k)x+c = 0\)。由高中知识可得当判别式\((b-k)^2-4ac<0\)时直线和抛物线没有交点。二分查找存直线的斜率数组,找到一个满足该条件的值即可

标签:题意,字母,862,Codeforces,抛物线,数组,字符串,Round,字典
From: https://www.cnblogs.com/neko-yingying/p/17283751.html

相关文章

  • background-color 只填充容器的一半
     关键字的取值:toright  (表示从左往右渐变)toleft    (表示从右往左渐变)totop    (表示从下往上渐变)tobottom (表示从上往下渐变)角度的取值: 0deg  (从下到上totop)  180deg(从上到下tobottom)90deg  (从左到右toright)-90deg......
  • CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)- Make It Permutation
    题目链接:Problem-C-Codeforces  #include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;#defineendl"\n"intmain(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);intT=1;cin>>T;while(......
  • CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)
    题目链接C核心思路其实这个操作无非就两种:插入和删除。我们可以把重复的元素都先删除,因为这肯定是每个操作必须要做的。我们可以从最基础的情况出发也就是怎么构造出来\(1\sima[i]\)的序列呢。肯定是吧\(i\simn\)之后的序列都删除吧,然后把前面缺少的再补上去吧。所以我们......
  • CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!) A-E
    从C题开始写好了MakeItPermutation首先我们分析假如我们确定了要选择一个长度为n的序列,该怎么计算代价很明显一个是算保留多少个一个是算要加多少个,然后如果我们算完了选择长度n-1的序列那么更新答案的时候只需要看n这个数字是否存在就可以了,然后更新一下删掉多少个数字......
  • Codeforces Round 861 (Div. 2)
    题目链接C核心思路这个思路说实话有点玄学,也就是我们前面的数位按照l或者r的相同数位来填补,后面就填相同的数字也就是比如l是2345我们可以是2999,2888,23111,23777.这样构造好像肯定是最小的。但是好好巩固下数位dp来做这道题还是更好的。#include<iostream>#include<cstr......
  • CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)(CF1810)A~D题题解
    今天采用的是新格式。CF1810ABeautifulSequence点击查看原题点击查看思路如果一个数字的值\(v\),不大于当前的位置\(p\),那我们可以通过删除\(p-v\)个数字,使它们两个对应上。比如\([1,7,2,5,3]\)中的\(3\),其数值为\(3\),位置为\(5\),数值\(3\)小于等于\(......
  • CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!) A-D题解
    题目地址A-BeautifulSequence题意:给出一个数组,问是否存在任意一个子区间,存在i,使得ai=iSolution直接比较当前的数和i的大小就行了,当前为x,如果要求答案存在,必须有i>=xvoidsolve(){ intn;cin>>n; intflag=0; for(inti=1;i<=n;i++) { intx;cin>>x; if(i>=x) {......
  • Codeforces Round 859 (Div. 4) ABCDE(交互题)FG1G2
    EFG1G2质量还挺好的A.PlusorMinushttps://codeforces.com/contest/1807/problem/A题目大意:给定a,b,c,问我们是a+b==c还是a-b==c?把正确的符号输出。input1112332129-7347112110336991899019-81910output+--++-++--+......
  • Codeforces Gym 103931F - Forest of Magic(时间轴分块+线段树合并)
    一个巨烦的时间轴分块做法,有点类似于P2137Gty的妹子树先考虑静态的情况。看上去就一脸线段树合并对吧?一次修改的操作对一个点\(x\)贡献可以写成\(k·dep_x+b\)的形式,开两棵线段树合并维护一次项和零次项系数即可。由于静态问题可做,因此考虑时间轴分块。设阈值\(B\),每\(B......
  • Codeforces Round 860 (Div. 2)
    Preface两三天没写题了小小的补一下题结果这场意外地很合胃口,1h不到就把A-E做完了,而且除了忘记初始化这种一眼丁真的错误好像也没写挂可惜当时懒了周日晚上就不打了(主要......