只存不会的
题目来自codeforces,牛客,洛谷,atc,vj
sweetyy_316
甜甜的
展开
-
Codeforces Round #787 (Div. 3)(E) Replace With the Previous反思题解
题目大意:给定一个字符串,可以对其操作为b~z字母用字典序前一个字母代替所有出现过的该字母,其中a用z来代替,让求出不超过k次的操作数下,改变字符串的最小字典序的字符串思路:对大于‘a'的字母,进行-1操作,用map标记该字母,下次遇见不用消耗k的操作数,直接-1(指代替所有出现的该字母的操作),当k次步骤用完则结束操作。#include<bits/stdc++.h>using namespace std;int t,n,k;string s;int main(){...原创 2022-05-08 22:06:39 · 107 阅读 · 0 评论 -
Codeforces Round #786 (Div. 3)(E) Breaking the Wall反思题解
老规矩看题题目题目大意:给你一个数组,对其中一种操作,可以使任意两个数减小2,同时该值的左右两边的数值每次操作时减1,求得最小操作数使得两个值小于等于0;思路:分三种情况,1.两个挨着的每回操作递减2,则两个数若都存在则递减3;2.选择一个数操作,每回则对两边的数值减1,一个数减为0,则直接对另一个非0数进行减2操作;3.选择两个最小值进行操作,每回进行减2操作。小技巧:(偶数+1)/2==(偶数)/2 将偶数每次减2操作则与+1除以2等价;奇数减2操作则会最后剩下1,不满足题意,因原创 2022-05-07 23:55:39 · 188 阅读 · 0 评论 -
Codeforces Round #787 (Div. 3) 1675D - Vertical Paths反思题解
题目大意:给定一个数组p[N],其中p[i]为i的父节点,1.求得不重合,且覆盖所有结点的最小路径数,2,并分别输出该路径,从父节点到子节点的顺序输出该路径。思路:首先用数组值来记录每个结点的父节点(以便依次找出父节点,找到该路径),因为一棵无环的树且只有一个父节点,若出现t个父节点,则一定在路径中存在着t个父节点,所以最后最少的路径数用最低结点数计算为总结点数除去父节点的子节点数为,n-父节点的个数;如图所例,最小路径数为3之后再依次遍历找出该路径的结点。#in...原创 2022-05-07 23:29:58 · 459 阅读 · 2 评论