Educational Codeforces Round 102 C/D题解【构造】和【维护乱搞】

(数字图像处理MATLAB+Python)第五章图像增强-第一节:图像增强概述和基于灰度级变换的图像增强 图像增强(Image Enhancement):指不考虑图像降质原因,利用各种数学方法和变换手段,增强图像中人们感兴趣部分或提高有用的图像特征的清晰度。从图像质量来看,图像增强提高了图像的可懂度,改善了图像的视觉效果例如在现实场景中,针对那些对比度较差、视觉效果不好的图像,我们就可以利用图像增强改善视觉质量图像增强可分为如下几种基于灰度级变换的图像增强基于直方图修正的图像增强基于照度反射模型的图像增强基于模糊技术的图像增强基于伪彩色处理的图像增强其他图像增强方法分段线性灰度级变换。 阅读详情

题目链接C
题目链接D

C.

题意为:给定n,k , (n<=k<2n)
求构造出来一个长度为k的p序列,使得:
b序列 = p 1 , p 2 , p 3 , p 4 . . . . . . p k , p k − 1 . . . . . . p k − ( n − k ) p_1,p_2,p_3,p_4......p_k,p_{k-1}......p_{k-(n-k)} p1​,p2​,p3​,p4​......pk​,pk−1​......pk−(n−k)​的逆序数小于等于a = 1 , 2 , 3 , 4..... k , k − 1...... k − ( n − k ) 1,2,3,4.....k,k-1......k-(n-k) 1,2,3,4.....k,k−1......k−(n−k)的逆序数。求b取最大字典序时b的序列。
打表:
n,k = 4 3发现答案序列为132
n,k = 5 3发现答案序列为3 2 1

nk = 44 答案:1 2 3 4
nk = 54 答案:1 2 4 3
nk = 64 答案:1 4 3 2
nk = 74 答案:4 3 2 1
发现b的逆序数总是和a的逆序数是一样的,根据打表信息和猜的结论耦合一下发现只需要把后面n-k+1倒序输出就好了;
答案代码:

int n,k;read(n);read(k);
for(int i=1;i<=2*k-n-1;i++)printf("%d ",i);
for(int i=k;i>=2*k-n;i--)printf("%d ",i); 

粗略证明一下:b的字典序和逆序数是顺序增长的,即逆序数大,字典序一定偏大。

D

题意为给定长度为n的+,-符号序列,定义初始值为0,求执行完n个+或者-操作后中间出现了多少个不同的数字。

样例8 4 -±-±-+
表示 0 -1 0 -1 -2 -1 -2 -3 -2 (注意第一个数0也要算上)

然后给m次询问,每次询问给定两个数l,r求忽略l到r的指令的答案(出现的不同数)。
于是很简单的思路:把[1,(l-1)]和[r+1,n]合起来就是答案了。记录一下 a l − 1 a_{l-1} al−1​还有从1跑到l-1的top和low 、 r+1跑到n的top和low就可以了。

//pre[i]就是从1跑到i的top和low
//suf[i]就是从i跑到n的top和low
		int n,m;read(n);read(m);
        for(int i =1;i<=n;++i)scanf(" %c",&s[i]);
        for(int i =1;i<=n;++i)
        {
            if(s[i]=='+')a[i] = a[i-1]+1;
            else a[i] = a[i-1]-1;
            pre[i].X = max(pre[i-1].X,a[i]);
            pre[i].Y = min(pre[i-1].Y,a[i]);
            //求pre就摁求,同时求出a数组表示从1执行到i的当前数。
        }
        suf[n+1]=(pii){0,0};
        for(int i =n;i>=1;--i)
        {
            if(s[i]=='+')suf[i] = (pii){max(suf[i+1].X+1,0),min(suf[i+1].Y+1,0)};
            else suf[i] = (pii){max(suf[i+1].X-1,0),min(suf[i+1].Y-1,0)};
            //suf数组求法就是倒着求,然后对上下界进行抬高或者下降,取0分界。
        }
        while(m--)
        {
            int l,r;read(l);read(r);
            int top = pre[l-1].X , low = pre[l-1].Y;
            int dtop = suf[r+1].X , dlow = suf[r+1].Y;
           // printf("%d %d %d %d\n",top,low,dtop,dlow);
            pii ans = (pii){max(top,dtop+a[l-1]) , min(low,dlow+a[l-1])};
            //最后答案就是两个答案拼接然后各取最值。
            printf("%d\n",ans.X-ans.Y+1);
        }

复健第一晚上的cf脑溢血了,c题想了好久,11分过b,1:00才过c,可以说人已经退化了。接着30分钟才过d。d想的很快,看完题就知道是这个做法但是调了很久代码,就是维护出来suf卡了一下,求ans也卡了一下。只能说这么久没碰题目手很生疏。

SAP物料主数据归档详解(物理删除) 顾问们的回答肯定的统一的不能,只能打上删除标记。物料设置好需要删除的物料号这里我们需要删除的物料是AG88,其中,若不选“考虑无删除标记的物料”,需要将需要归档的物料MM06打删除标记。平时在操作系统过程中经常会不小心创建出很多无用的物料主数据,但是系统只能通过MM06打上删除标记,但是物料最终在系统中还是可以查询到的。6、执行已设置变式的归档程序,执行完毕,点下图中的“Job”,每次执行完归档程序会产生两条作业。然后设置好开始的参数和假脱机的参数,三个都是绿灯就可以执行归档的操作,物理上删除物料主数据。 阅读详情

相关推荐

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型 当前AI企业级应用面临三大核心挑战:业务场景深度非标化、技术落地"最后一公里"困局、以及市场竞争焦点转向实用价值。前线部署工程师(FDE)作为破局关键,通过技术-业务-产品三维交汇的复合能力,将AI从实验室推向生产环境。FDE不仅是技术架构师,更是业务价值挖掘机和产品进化传感器,通过"碎石路-高速公路"双循环模式,将定制化需求沉淀为可复用的平台能力。这种模式颠覆了传统SaaS的销售逻辑,形成基于价值的J型增长

随笔记录-分享&记忆 3992

Educational Codeforces Round 102 (Rated for Div. 2) D题 Program

这题就是把加号抽象成1,减号抽象成-1,记做数组a(1~n标号),然后求出数组a的前缀和数组为s。(s[0] = 0) 然后对于区间[l,r],答案就是然后分别在前缀和数组s上对区间[0,l-1],[r+1,n]查询最小值,最大值,分别记为minl1,maxl1,minl2,maxl2。那么此时的答案就是 max(maxl1,maxl2)-min(minl1,minl2)+1。 AC源码如下: //Dlove's template #include <iostream> #include &lt

鼎寒的博客 776

瑞萨 RL78 开发环境实战:从 CS+ for CC 到 e² studio 高效开发

本文详细介绍了瑞萨RL78单片机开发环境的选择与配置,对比分析了CS+ for CC和e² studio的特点及适用场景。内容涵盖环境安装、工程创建、调试技巧、外设驱动开发和低功耗设计等实战经验,为开发者提供全面的RL78入门指南,帮助快速上手并高效开发。

4k5l6j7h8的博客 242

Educational Codeforces Round 102

一. A.Replacing Elements A题链接 (1)题意: 给你一个数组,可以选择其中三个不同位置的数i,j,k,使得a[i] = a[j] + a[k],问能不能经过0次或者多次操作使得数组里面的数都小于等于d (2)题解: 能够使数组在任何时候都小于等于d的话,要么是存在两个数相加都不超过d,就可以使得任何一个数都 = 这两个数相加,要么就是所有数都已经不超过d,直接满足条件 (3)代码: #include <bits/stdc++.h> using namespace st

weixin_45843077的博客 425

无法找到来自源 nvlddmkm 的事件 ID 14 的描述

具体错误是: 无法找到来自源 nvlddmkm 的事件 ID 14 的描述。本地计算机上未安装引发此事件的组件,或者安装已损坏。可以安装或修复本地计算机上的组件。 出现这样错误的原因有很多了,有可能是硬件有可能是软件。由于我是刚配置的电脑,起初非常怀疑是自己组装的问题,折腾了好久,心态爆炸!!!先说我报这样错误的情况,以及解决办法,供后面人参考。 ...

SeventhBlue 6万+

PrimeTime生成.lib竟暗藏PG添加Bug

1. 确认原始库中是否包含PG引脚的定义。2. 查阅PrimeTime的write_lib命令文档,寻找相关选项。3. 在生成库时使用正确的选项,例如-include_pg_pins或类似参数。4. 验证生成的.lib文件是否包含pg_pin部分。

limanjihe的专栏 1919

Educational Codeforces Round 102 (Rated for Div. 2) A-D

链接: Educational Codeforces Round 102 (Rated for Div. 2). A 题意:输入n,d,有n个数,可以选择互不想等的i,j,k,使得ai=aj+ak。问最终能否使得数组的每个数字都小于等于d 思路:求出数组最小的两个数的和,小于d就YES,否则NO 代码 #include <stdio.h> #include <stdarg.h> #include <stdlib.h> #include <math.h> #in

HHeyanjie的博客 794

044.树莓派4B部署YOLO:从系统烧录到模型运行

《树莓派4B部署YOLOv8实战笔记》摘要:本文详细记录了在ARM架构树莓派4B上部署YOLOv8的全流程。关键点包括:必须使用64位系统并手动编译OpenCV(禁用FFMPEG、开启NEON优化);模型需在x86转换为TFLite格式(分辨率不超过320×320);推理代码使用tflite_runtime替代TensorFlow以减少内存占用;针对USB摄像头卡顿、内存泄漏等典型问题给出了解决方案。

2603_95664987的博客 169

Educational Codeforces Round 102 (Rated for Div. 2)

A. Replacing Elements 题意:一个数组,可以用两个不同的元素替换掉另外一个元素,不限次数。问,能否使得数组中所有元素都不大于 d 。 思路:显然,如果所有元素都不大于d,那就执行0次。成立。如果有元素大于d,那就得替换掉,显然选择最小的两个元素进行替换。所以如果最小的两个元素加起来大于d那就没戏了。反之有解。 AC代码: #include <bits/stdc++.h> #define int long long using namespace std; const int

qq_43461168的博客 2683

【git】git: ‘interpret-trailers’ is not a git command. See ‘git --help’

cents 7.6系统. yum源安装git最新版本是1.8.3 报错: git: 'interpret-trailers' is not a git command. See 'git --help'. cannot insert change-id line in .git/COMMIT_EDITMSG 解决: git add xxx git commit -m "xxx" 然后修改 vim .git/hooks/commit-msg #if test -n "${reviewurl}" ; th

machh的专栏 4758

Windows 11 安装 uv:手动下载、配置国内源

本教程详细介绍了在 Windows 11 系统下安装并配置 Python 包管理器 uv 的完整流程,包括配置环境变量 PATH、设置清华 PyPI 镜像源,以及创建收据文件以支持未来更新。适用于因网络限制无法通过官方脚本自动安装的用户,操作步骤清晰,配有图文指引,帮助读者高效完成本地部署。

寒水馨 · 轻量级技术文档 · hanshuixin.org 7602

Educational Codeforces Round 102 (Rated for Div. 2) C. No More Inversions题解

Educational Codeforces Round 102 (Rated for Div. 2) C. No More Inversions 戳上方进入题目哟~ 题目大意 (这道题真的不好懂,对语文不及格的蒟蒻造成了巨大冲击) 你有一个长度为n的数组遵循以下规律: 1,2,3, … ,k-1, k, k-1, … , k-(n-k) 其中k <= n < 2k 。 首先题目给出一个定义: 我们把 i < j但a[i] > a[j]的情况称为倒置。 现在让你求出一个数组p,使得

Is_TuTouYa的博客 1407

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Educational Codeforces Round 102 (Rated for Div. 2) 1473 题解

Educational Codeforces Round 102 (Rated for Div. 2) 1473A 题意:用序列中两个数相加来替换序列中其他的数,判断能否使得整个序列的数小于等于d。 题解:乱搞题。 代码:A 1473B 题意:根据题目给出概念判断两个字符串是否存在最小公共倍数字串。 题解:求出两个字符串长度的最小公倍数L,将S和T的长度补全到L,判断两个字串是否相等即可。 代码:B 1473C 题意:给出两个数字n和k,其表示长度为2k的序列,其中前n个数为有序自然数1到n,后2*k-n个

Aliccccccc的博客 253

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Educational Codeforces Round 102 (Rated for Div. 2) A,B,C,D题【个人题解】

A. Replacing Elements #include <bits/stdc++.h> using namespace std; const int N=1e4+10; int a[N]; int main() { ios::sync_with_stdio(false); int T,n,d; cin>>T; while(T--) { cin>>n>>d; bool flag=0;

nefu_ljw的博客 1436

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

(Training 3)Educational Codeforces Round 102

能力不够只写了前4题 第四题在赛后10来分钟才调出来 又又又要掉分了 A. Replacing Elements 题意: 你可以做任意次操作 操作方法为选择 ai aj 使得 ak=ai+ak 问你能不能 使得数组全部小于d 思路:从前往后递推即可 只需要找出 是否存在2个数相加小于等于d 或者所有值都小于等于d #include<iostream> #include<cstring> #include<queue> #include<algorithm> u

the_xin的博客 234

Educational Codeforces Round 102 ABCD——解题报告

比赛链接:https://codeforces.com/contest/1473 A——Replacing Elements 当数组中的最小值和次小值的和小于等于d时或者数组中每个位置的值都小于等于d时输出YES,否则输出NO。 因为按照贪心的思想我们肯定每次选择这两个位置的值对其他位置进行赋值,所以直接判断就行了。 特判一下一次都不赋值的情况就行了。 #include <bits/stdc++.h> #define PI atan(1.0)*4 #define rp(i,s,.

mumei的博客 332

Educational Codeforces Round 102 (Rated for Div. 2) B. String LCM 题解

Educational Codeforces Round 102 (Rated for Div. 2) B. String LCM 点击上方进入题目哟~ 题目大意 给两个只由a和b组成的字符串,让你求出即符合a的变化规律又符合b的变化规律的,长度即能被a的长度整除也能被b的长度整除的最短字符串。 解析 既然字符串s3要遵循两个字符串s1,s2的规律,也就是说这两个字符串的规律相同,且由于要找出遵循其规律的长度的最小公倍数,我的思路是先根据某一字符串s1求出一个符合题目要求长度的字符串s3,再将其与将长

Is_TuTouYa的博客 1721

HDU6003(Problem Buyer 求出最小的k使得在n个区间里任选k个都包含m这个大小 优先队列)

题目 题意: 给你n个区间代表难度 m个问题的难度。问你至少选择多少个区间才可以保证:每个问题都有它对应的难度区间 而且多个问题不能对应一个区间。 思路: 对于问题1有a个区间不包括这个难度,要想满足这个问题就必须选a+1个区间。所以求出m个问题对应的m个 ai+1 取最大的就是本题的k.所以本题转化为求出所有的a。 用一个优先队列即可求出,注意一个区间只对应一个问题。。。所以上述描述不严谨...

qq_42576687的博客 384

Educational Codeforces Round 102 (Rated for Div. 2)(A~D)

A. Replacing Elements(水贪心) 题意 思路 经过合理操作之后的数都小于等于 d,有两种情况可以: 本身数列所有的元素的都小于等于 d,这个时候不需要操作。。 数列中最小的两个数之和小于等于 d 代码 #include <iostream> #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> #include &lt

做一只熊猫不好吗? 389

寒假训练第四天-Educational Codeforces Round 102 (Rated for Div. 2)

寒假训练第四天-Educational Codeforces Round 102 (Rated for Div. 2) 前言:打了场div2,心态爆炸 ,ed场教做人,c读半天没读懂,d被memset卡死了, 菜的抠脚 题目链接-https://codeforces.com/contest/1473 A-Replacing Elements 题意:给你一个序列和一个限制d,问是否存在j, k, 使得任意 a[i] = a[j] + a[k] (i≠j; i≠k; j≠k) ,若a[i] <=d,则无需

Siyue1999的博客 425

Educational Codeforces Round 15

A 题意:最长的连续LIS。 dp 跑一发即可#include <cstdio> #include <algorithm> #include <cmath> #include <vector> #include <cstring> #include <queue> #include <map> #include <set> #include <string> #define CLR(a, b)

世界很大 548

Educational Codeforces Round 102 (Rated for Div. 2) D. Program

题意: 初始xxx值为111,给定一个长度为nnn的操作序列,′+′'+'′+′表示x=x+1x=x+1x=x+1,′−′'-'′−′表示x=x−1x=x-1x=x−1,再给定mmm个询问,每次给定两个数l,rl,rl,r,忽视从第lll到第rrr这r−l+1r-l+1r−l+1个操作,问剩下的操作中可以得到不同数的个数。 数据范围:1≤n,m≤2×105,1≤l≤r≤n1\leq n,m\leq 2\times 10^5,1\leq l\leq r\leq n1≤n,m≤2×105,1≤l≤r≤n 题解:

solego’s blog 261

Educational Codeforces Round 10

DUANG:http://codeforces.com/contest/652 A 爬上爬下瞎搞 想复杂了不怎么敢交结果一发A了 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int main(){ 5 //while(true){ 6 int h1, h2, a...

weixin_33804990的博客 118
上一篇: Codeforces Round #695 (Div. 2)D. Sum of Paths【计数题】
下一篇: 阶段总结
DevourPower
博客等级 码龄7年 52粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值