基础算法
文章平均质量分 52
Strezia
这里介绍不了我
展开
-
B. GameGame博弈+贪心
#659 Div.1 B 博弈+贪心原创 2022-10-17 14:56:18 · 261 阅读 · 1 评论 -
牛客多校4 A.Task Computing 思维
牛客多校4 A原创 2022-07-31 17:29:50 · 174 阅读 · 0 评论 -
H. Take the Elevator 贪心
牛客多校第二场H题原创 2022-07-24 19:35:55 · 168 阅读 · 0 评论 -
Gym102916K. Bloodseeker 贪心
Link贪心题意一个吸血鬼 有mmm 滴血的上限,一开始满血,每秒钟会掉一滴血,且可以对一个怪物造成1点伤害,有 nnn个 怪物,每个怪物有 tit_iti滴血,击杀一个怪物后可以回复 hih_ihi 滴血,但是不能超过上限,问是否可以击杀所有怪物思路首先由于恢复体力后体力也不能超过上限,所以预处理 hi=min(m,hi)h_i=min(m,h_i)hi=min(m,hi)1.由于可以更改攻击目标,所以若 hi≥tih_i \geq t_ihi≥ti,则可以回复 hi−tih_i-原创 2022-03-21 17:29:46 · 164 阅读 · 0 评论 -
P1801 黑匣子 对顶堆
link思路蛮经典的一道题,然而一直没做过总之就是用大根堆和小根堆来取代平衡树,由于询问的第 kkk 大是单调的,所以维护一个一直有 k−1k-1k−1 个元素的大根堆,对于每个新加的元素,若大根堆未满,则直接加入大根堆,否则判断它和大根堆堆顶大小,取二者中大的一个pop出并加入小根堆,这样保证大根堆元素数量为k−1k-1k−1,并且大根堆堆顶大小不超过小根堆堆顶,于是小根堆堆顶即为第 kkk 大。代码这个输入好迷惑,一开始没看明白,直接存成数组了。priority_queue<int&g原创 2022-02-21 22:58:24 · 165 阅读 · 0 评论 -
CF1631E. Paint the Middle **
linkdp/贪心 2200题意给定 nnn 个元素,元素 iii 具有值 aia_iai 和颜色 cic_ici,最初,对于所有 iii,ci=0c_i=0ci=0。可以不限次数地进行以下操作:选取三个元素i,j,k(1≤i<j<k≤n)i,j,k(1\leq i<j<k\leq n)i,j,k(1≤i<j<k≤n),其中ci=cj=ck=0c_i=c_j=c_k=0ci=cj=ck=0且ai=aka_i=a_kai=ak,令cjc_jcj=1原创 2022-02-21 19:33:28 · 183 阅读 · 0 评论 -
D. Range and Partition
Link思维+二分 1800题意给定一个数组aaa,请给定一个值域范围[x, y],并将其分为 kkk 段连续的子数组,使得每一段子数组中,在范围内的数总是严格大于不在范围内的数的个数。请最小化y−xy - xy−x ,并输出对应的[x,y]的数组划分方案。思路先考虑对于给定的 [x,y][x,y][x,y] 如何判断其能否分为满足条件的 kkk 段?容易想到能分为 kkk 段当且仅当在区间[x,y][x,y][x,y]内的数cntincnt_{in}cntin 与不在区间内的数数量cntou原创 2022-02-18 23:15:15 · 137 阅读 · 0 评论 -
POJ2689 Prime Distance ——区间素数筛
Link题意:给出一个区间[l, r],找出区间内相邻的距离最近的两个素数和距离最远的两个素数1<=l<r<=2,147,483,647 区间长度不超过1,000,000Code://#include <bits/stdc++.h>using namespace std;#define mp make_pair#define pii pair<int,int>#define pb push_back#define ll long lon原创 2022-01-03 13:25:28 · 282 阅读 · 0 评论 -
CCPC广州补题C. Necklace 代码有问题 有空改一下
题意:给出一个有n个珠子的项链,需要分成m段,使得给出的m个数每个数都处在单独一段,输出最长段的最小长度。1 <= m < n < 1e18, m <= 1e6思路:显然,二分答案,一开始没有注意是项链,每次check贪心地从0开始,cur表示当前的位置,每一步若cur + mid <a[i],则return false,否则cur = min(cur + mid, a[i+1]-1),wa了。改进的时候加了一个偏移量delta,具体见代码。// ..原创 2021-11-17 00:54:25 · 944 阅读 · 5 评论 -
CCPC2018桂林站H. Hamming Distance —— 思维 + 贪心*
链接题意:构造一个字典序最小的字符串同时满足长度与串AB相等,并且与A的汉明距离等于与B的汉明距离,具体见题目。思路:贪心地构造前缀a尽可能多的字符串一开始写复杂了,实际上有很简单的写法,即代码check函数不要忘记给z加绝对值!#include <iostream>// #include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 10;#define pb push_ba原创 2021-11-01 00:57:05 · 183 阅读 · 1 评论 -
CCPC2018桂林D. Bits Reverse —— 思维 + 贪心
第一签到题题意:T组输入,每组输入包含两个数字x和y(long long int)。对x有一种操作,可以将 x的二进制 任意相邻的三个位逆置。问最少进行多少次操作,可以使得x等于y,不可能则输出-1思路:reverse三个位置,即中间位置不受影响,即奇数位置和偶数位置1的数量是固定的,所以先判断x y奇数偶数位置的1数量是否分别相等,不等则不可能,否则一定可以达到。然后考虑最小化次数,首先分成奇偶两部分,对每一部分,贪心的枚举每个1的位置,然后对应位置相减取abs即可, 具体见代码。原创 2021-10-31 23:09:20 · 127 阅读 · 0 评论 -
CF1598C. Delete Two Elements 1200——思维
CF1598C题意:给出n个数,问有多少对数,使得删掉这对数后剩下数的平均数和原先相同思路:设sum表示原来所有数的和,则平均数为sum/n,即只要两个数相加为2sum/n即可凑成一对考虑把每个数*n,则和为2sum。通过map实现// Decline is inevitable,// Romance will last forever.//#include <bits/stdc++.h>#include <iostream>#include <原创 2021-10-18 18:13:27 · 246 阅读 · 0 评论 -
M-客观的校长 BIT新生赛题目 —— 贪心*
M-客观的校长题意: 中文题思路:// Decline is inevitable,// Romance will last forever.#include <bits/stdc++.h>#define ll long long#define fi first#define se second#define pb push_back#define vi vector<int>#define endl '\n'#define int long.原创 2021-10-17 15:57:22 · 53 阅读 · 0 评论