思维
文章平均质量分 68
呃呃...
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #773 (Div. 2) D
题目大意:长度为n的序列a,通过输出一定的操作序列使得最终的a可以由重复序列组成,再输出每个重复序列的长度。如果不存在这样的操作序列,则输出-1.重复序列定义:长度为2k的序列,且满足xi=xi+kx_i=x_{i+k}xi=xi+k操作方式:选择一个位置插入一对相同的数(自定义)数据范围:1≤t≤300001\le t\le 300001≤t≤30000n≤500n\le 500n≤500ai≤1e9a_i\le1e9ai≤1e9保证∑n2≤250000\sum n^2原创 2022-02-26 15:12:00 · 164 阅读 · 0 评论 -
Codeforces Round #772 (Div. 2) D
文章目录题目大意:解题思路AC代码:题目大意:给了n个不同的正整数序列a。定义了一个无限集合S,满足∀x∈S\forall x \in S∀x∈S,至少符号下列条件之一:∃i,st:x=ai\exist i,st:x=a_i∃i,st:x=aix=2∗y+1 && y∈Sx=2*y+1\, \&\& \,y\in Sx=2∗y+1&&y∈Sx=4∗y && y∈Sx=4*y\,\&\&\,y\in Sx=4∗y&a原创 2022-02-23 10:03:06 · 668 阅读 · 0 评论 -
CF1344C Quantifier Question
题目大意:有nnn个未知数{xn}\{x_n\}{xn}序列,其中有mmm对小于关系,给x1,x2,..,xnx_1,x_2,..,x_nx1,x2,..,xn分别分配∀\forall∀或者∃\exist∃(分配的符号标记为QiQ_iQi),使得Q1x1 Q2x2 ... QnxnQ_1x_1\,Q_2x_2\,...\,Q_nx_nQ1x1Q2x2...Qnxn能够满足mmm对小于关系(注意,量词的顺序是会影响句子意思,一定要按照上述顺序),且使∀\forall∀最多,如果不存在,原创 2021-09-10 20:19:13 · 95 阅读 · 0 评论 -
牛客多校3 I
题目大意:一个长度为nnn的序列aaa,对这个序列有qqq个操作,操作类型如下:将[l,r][l,r][l,r]的aia_iai异或xxx将[l,r][l,r][l,r]的aia_iai异或(x+(i−l))(x+(i-l))(x+(i−l))1≤n≤6×105,1≤q≤4×105,0≤ai<2301 \le n \le 6 \times 10^5, 1 \le q \le 4 \times 10^5, 0\le a_i < 2^{30}1≤n≤6×105,1≤q≤4×105,0原创 2021-09-04 08:52:52 · 67 阅读 · 0 评论 -
2021牛客多校3 E
题目大意:有t(≤1e5)t(\le 1e5)t(≤1e5)次询问,每次询问给定n(≤1e18)n(\le 1e18)n(≤1e18),给出有多少组(x,y)(x,y)(x,y)满足(xy+1)∣(x2+y2)(xy+1)|(x^2+y^2)(xy+1)∣(x2+y2)解题思路:设(x2+y2)=k(xy+1)(x^2 + y^2)=k(xy+1)(x2+y2)=k(xy+1)固定x不懂,由韦达定理,存在另一个y′y'y′满足y+y′=kx,yy′=x2−ky+y'=kx,yy'=x^2-ky+y原创 2021-09-01 19:42:50 · 96 阅读 · 0 评论 -
HDU-7112 计算几何
题目大意:已知一个凸包的前提下,每次查询给出一个三角形,求平面内可以和三角形内的点构成射线穿过凸包但构成线段不穿过凸包的点的面积。解题思路:(因为官方思路更加清晰,所以这里借用官方的思路)AC代码:#include <bits/stdc++.h>#define ft first#define sd second#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define seteps(N) fi原创 2021-09-01 15:32:26 · 157 阅读 · 0 评论 -
Deltix Round, Summer 2021 (open for everyone, rated, Div. 1 + Div. 2) E(st表+思维)
题目大意:有两个长度为nnn的序列aaa和bbb,qqq次询问,每次询问一个区间[l,r][l,r][l,r],对于区间执行以下操作:选择l≤pos1≤pos2≤...≤posk≤r(k为偶数)l \le pos_1 \le pos_2 \le ... \le pos_k \le r (k为偶数)l≤pos1≤pos2≤...≤posk≤r(k为偶数),对于aaa序列pos1,pos3,pos5,...pos_1,pos_3,pos_5,...pos1,pos3,pos5,...加1,对于原创 2021-09-01 09:33:14 · 59 阅读 · 0 评论 -
Access Points (单调栈)
题目大意:平面上nnn个点对序列aaa,再选取nnn个点对序列bbb,使得在满足:i<j,xi≤xj,yi≤yji<j,x_i \le x_j,y_i \le y_ji<j,xi≤xj,yi≤yj情况下,∑i=1n(a[i].x−b[i].x)2+(a[i].y−b[i].y)2\sum_{i=1}^{n} (a[i].x-b[i].x)^2+(a[i].y-b[i].y)^2∑i=1n(a[i].x−b[i].x)2+(a[i].y−b[i].y)2最小解题思路:xxx原创 2021-08-26 15:03:51 · 127 阅读 · 0 评论 -
HDU 7075 Unfair contest
题目大意:有两个长度为n−1n-1n−1的序列{a},{b}\{a\},\{b\}{a},{b},决定ana_nan与bnb_nbn,使得两个序列去掉sss个最高分以及ttt个最高分之后剩下的序列总和suma>sumbsuma>sumbsuma>sumb,输出an−bna_n-b_nan−bn的最小差值解题思路:先将两个序列从小到大排序,然后可以发现序列的[t+1,n−s][t+1,n-s][t+1,n−s]的贡献并不会因为插入一个值而受影响,总和分别设为:sasasa和s原创 2021-08-19 11:04:14 · 102 阅读 · 0 评论 -
2021杭电9 G
题目大意:对一个双端队列一共有四种操作:从左边添加一个元素从右边添加一个元素将队列中元素为xxx的从队列中直接删除询问队列中的中位数是什么,中位数位置是⌈m+12⌉\left \lceil \frac{m+1}{2} \right \rceil⌈2m+1⌉询问q≤1e7q\le 1e7q≤1e7解题思路:因为每添加一个元素或者删除一个元素,中位数的位置仅仅只是向左移或右移一位,所以可以用链表来动态维护中位数的位置对于删除操作,可以先将链表上的该位置标记,但不删除,直到中位数会经过该原创 2021-08-19 08:54:15 · 43 阅读 · 0 评论 -
2021牛客暑期多校训练营5 B(思维)
题目大意:有nnn个盒子,每个盒子有个球,球的颜色为白色或者黑色,可以花费wiw_iwi来知晓第iii个盒子里球的颜色,还能花费ccc来知晓剩下未开的盒子有多少个黑球,能够知晓所有球最小期望花费.解题思路:有两种策略,要么直接全部打开,要么慢慢猜猜的策略: 将wiw_iwi升序排序,先花ccc的代价,剩下的就相当于一个随机01序列从前往后开,开到一个后缀全是同色的为止(因为已经知晓有多少个黑球,每次猜测之后,可根据剩余未知晓球数来判断是否后缀全是同色)对于第i个位置,花费wiw_iwi的概原创 2021-08-05 16:36:13 · 45 阅读 · 0 评论 -
2021牛客暑期多校训练营1 G
题目大意: 给定序列 A,B,需要交换恰好 k 次 A 中两个不同的数,使得 A,B 每个位置的绝对差值和最大。 N <= 100000解题思路:AC代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 5e5 + 10;int n, k;int a[maxn], b[maxn], c[maxn << 1];int flaga[max原创 2021-07-18 21:23:15 · 85 阅读 · 0 评论 -
2018_icpc_jiaozuo_B(思维)
B. Ultraman vs. Aodzilla and Bodzilla题目大意:两只怪兽A和B,血量分别为hpa,hpb,攻击力分别为atka,atkb。英雄每一轮只能对一只怪兽进行攻击,第i次攻击伤害为i。怪兽每一轮比英雄先攻击,伤害为存活怪兽伤害总和。求出英雄最小受到的伤害,并且输出英雄攻击字典序。解题思路:非常显而易见的一个思路就是肯定要先把其中一只怪兽打死,然后集中攻击剩下的怪兽那么我们一只打A再打B,或者一直打B再打A不就行了 (这样子铁错了) 1 5 5 5 5正确原创 2021-05-25 20:57:49 · 150 阅读 · 1 评论 -
Namomo Test Round 2 C序列 题解 个人理解
题目链接题解链接ps:此篇博客是对题解的个人理解,为了使以后看到这道题可以看懂,如果原作者认为此篇博客侵权了,请联系我删除题解原文:个人理解:解释一:首先来个图:很容易发现,如果要按最小步骤得到的最大值,那么一定是如下的图:操作次序为:红(1次),橙(3次),黄(1次),绿(3次)从这里我们就可以发现结论:前括号划分的位置恰好都是在差分(a[i+1]−a[i]a[i + 1] - a[i]a[i+1]−a[i])为正的位置,后括号划分的位置恰好都是在差分为负的位置而按最小步骤得到原创 2020-07-08 11:27:01 · 263 阅读 · 0 评论 -
题解 CF1375E Inversion SwapSort(构造)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-07-06 11:13:32 · 258 阅读 · 0 评论 -
题解 1375D Replace by MEX(思维)
题目链接将原序列变为000到n−1n-1n−1的全排列例子:2 2 3MEX(2,2,3)=00 2 3MEX(0,2,3)=10 2 1MEX(0,2,1)=3从后往前,按照如下方法交换(ps:绝不是因为语言表达能力不好 )example 1:0 2 1i == 3, a[i] != ii == 3, loc == 10 2 3i == 3, loc == 01 2 3loc == 0 结束当前交换i = 2, a[i] == ii = 1, a[i] ==原创 2020-07-06 11:33:54 · 584 阅读 · 0 评论