CF解题报告:7

CF128A Statues 解题报告 codeforces搜索解题报告 阅读详情

T1 Kalevitch and Chess

题目

统计只有B的行数和列数即可
特判全是B的情况

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using db = double;
const int N = 255;
char s[10][10];
int main(){
    for(int i=0;i<8;i++)
        for(int j=0;j<8;j++)
            cin>>s[i][j];
    int c1=0,c2=0;
    for(int i=0;i<8;i++){
        bool f1=0,f2=0;
        for(int j=0;j<8;j++){
            if(s[i][j]=='W') f1=1;
            if(s[j][i]=='W') f2=1;
        }
        if(!f1) c1++;
        if(!f2) c2++;
    }
    if(c1==8 || c2==8) puts("8");
    else printf("%d\n",c1+c2);
}

T2 Memory Manager

题目

恶心模拟题
可以将n的范围变为 n < = 1 e 5 n<=1e5 n<=1e5,使这题更加恶心

#include<bits/stdc++.h>
using namespace std;
const int N=105;
char s[10];
struct node{ int s,l,id; }p[N];
int t,m,cnt,mark[N];
bool cmp(node x,node y)  { return x.s<y.s; }
void alloc()
{
	int n,le=1,flag=0;
	scanf("%d",&n);
	if(n>m)  { printf("NULL\n"); return; }
	for(int i=1;i<=cnt;i++)
	{
		if(!mark[p[i].id])  continue;
		flag=1;
		if(p[i].s-le>=n)
		{
			p[++cnt]={le,n,cnt};
			printf("%d\n",cnt);
			mark[cnt]=1;
			sort(p+1,p+1+cnt,cmp);
			return;
		}
		else  le=p[i].s+p[i].l;
	}
	if(!flag || m-le+1>=n)
	{
		p[++cnt]={le,n,cnt};
		printf("%d\n",cnt);
		mark[cnt]=1;
		sort(p+1,p+1+cnt,cmp);
		return;
	}
	else  printf("NULL\n");
return;
}
//在内存中分配n字节的空间。此命令将返回已分配的内存块的编号
void erase()
{
	int x;
	scanf("%d",&x);
	if(x<=0 || x>100)  { printf("ILLEGAL_ERASE_ARGUMENT\n"); return; }
	if(!mark[x])  { printf("ILLEGAL_ERASE_ARGUMENT\n"); return; }
	else  mark[x]=0;
return;
}
//释放编号为x的内存块
void defragment()
{
	int le=1;
	for(int i=1;i<=cnt;i++)
	{
		if(!mark[p[i].id])  continue;
		p[i]={le,p[i].l,p[i].id};
		le+=p[i].l;
	}
return;
}
//将所有内存块全部向内存的起点靠拢并且不改变它们的顺序
int main()
{
	scanf("%d %d",&t,&m);
	for(int i=1;i<=t;i++)
	{
		scanf("%s",s+1);
		if(s[1]=='a')  alloc();
		else if(s[1]=='e')  erase();
		else if(s[1]=='d')  defragment();
	}
return 0;
}

T3 Line

题目

用来练 e x g c d exgcd exgcd板子还不错
会裴蜀定理就行

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using db = double;
const int N = 255;
ll x,y;
ll exgcd(ll a,ll b,ll &xx,ll &yy){
    if(!b){
        xx=1,yy=0;
        return a;
    }
    ll res=exgcd(b,a%b,xx,yy);
    ll t=xx;
    xx=yy,yy=t-(a/b)*yy;
    return res;
}
int main(){
    ll A,B,C;
    scanf("%lld%lld%lld",&A,&B,&C);
    ll g=exgcd(A,B,x,y);
    if(C%g) puts("-1");
    else {
        ll t=-(C/g);
        printf("%lld %lld\n",x*t,y*t);
    }
}

T4 Palindrome Degree

题目

考虑 D P DP DP, f i f_i fi​表示前 i i i个字符组成的前缀的阶级
那么 a n s = ∑ i = 1 n f i ans=\sum_{i=1}^n f_i ans=∑i=1n​fi​,
考虑转移
f i = { 0 ( 不为回文串 ) f i / 2 (为回文串) f_i = \begin{cases} 0 \quad(不为回文串)\\ f_{i/2}(为回文串) \\ \end{cases} fi​={0(不为回文串)fi/2​(为回文串)​
所以关键在于回文串的判断,可以 H a s h Hash Hash

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 5e6+7;
int n,len;
ll pre,ba,fa=1,f[N];
char s[N];
int main(){
    scanf("%s",s+1);
    int len=strlen(s+1);
    for(int i=1;i<=len;i++){
        pre=pre*17+ll(s[i]),ba=ba+fa*ll(s[i]),fa=fa*17;
        if(pre==ba){
            f[i]=f[(i/2)]+1;
        }else{
            f[i]=0;
        }
    }
    ll ans=0;
    for(int i=1;i<=len;i++) ans+=f[i];
    printf("%lld\n",ans);
}

T5 Defining Macros

题目

毒瘤模拟题,谁做谁上吊 毒瘤模拟题,谁做谁上吊 毒瘤模拟题,谁做谁上吊

#include<bits/stdc++.h>
using namespace std;
map<string,int> mp;
string s2;
string s3;
int judge(string s,int l,int r){
    int add=0,x,y,f=0;
    string ss;
    for(int i=r;i>=l;i--){
        if(s[i]=='(')
            add++;
        else if(s[i]==')')
            add--;
        else if(add==0&&f==0&&(s[i]=='*'||s[i]=='/'))
            f=i;
        else if(add==0&&(s[i]=='+'||s[i]=='-'))
        {
            x=judge(s,l,i-1);
            y=judge(s,i+1,r);
            if(x==2||y==2)
                return 2;
            if(s[i]=='+')
                return 3;
            else if(s[i]=='-')
            {
                if(y==3)
                    return 2;
                else return 3;
            }
        }
    }
    if(f!=0)
    {
        x=judge(s,l,f-1);
        y=judge(s,f+1,r);
        if(x==2||y==2)
            return 2;
        if(s[f]=='*')
        {
            if(x==3||y==3)
                return 2;
            else return 4;
        }
        else if(s[f]=='/')
        {
            if(x==3||y==3||y==4)
                return 2;
            else return 4;
        }
    }
    else if(s[l]=='('&&s[r]==')')
    {
        if(judge(s,l+1,r-1)==2)
            return 2;
        else return 1;
    }
    else{
        ss="";
        for(int i=l;i<=r;i++)
            ss+=s[i];
        if(mp[ss]!=0)
            return mp[ss];
        else return 1;
    }
}
int main(){
    int n;
    string s;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>s; 
        if(s[s.size()-1]=='#') cin>>s;
        cin>>s;
        getline(cin,s2);
        s3="";
        for(int j=0;j<s2.size();j++)
            if(s2[j]!=' ')
                s3+=s2[j];
        mp[s]=judge(s3,0,s3.size()-1);
    }
    getline(cin,s2);
    s3="";
    for(int j=0;j<s2.size();j++)
        if(s2[j]!=' ')
            s3+=s2[j];
    if(judge(s3,0,s3.size()-1)!=2)
        cout<<"OK"<<endl;
    else cout<<"Suspicious"<<endl;
    return 0;
}

完

《C/C++等级考试(1~8级)历届真题解析》专栏总目录 中国电子学会《全国青少年软件编程等级考试》C/C++编程(1~8级)历届真题解析。订阅后可阅读专栏内所有真题解析,真题持续更新中! 阅读详情

相关推荐

superpowers-中文使用说明

《obra/superpowers:AI辅助开发的流程纪律工具集》 摘要:obra/superpowers是一套面向AI辅助软件开发的系统化流程规范,包含14个核心技能,强调"先理解后行动"的纪律性开发方法。该工具集定义了从头脑风暴到代码评审的完整工作流,要求严格遵循测试驱动开发、子代理隔离执行等原则。核心特色包括:1) 任何实现前必须完成设计和评审;2) 采用红-绿-重构的TDD循环;3) 复杂任务通过独立子代理串行处理;4) 所有产出需经过双重验证(规格合规+代码质量)。该工具集特别注重文档化和可验证性

qq_22786633的博客 765

cf1189解题报告

cf1189div2解题报告 codeforces A 答案要不是一串要不就是去掉最后一个字母的两串 #include <bits/stdc++.h> #define ll long long using namespace std; const int N=107; int a[N<<2],n; int main() { scanf("%d",&...

weixin_30689307的博客 89

【PyBind11+anaconda+opencv+windows11+cmake+wsl+vscode】从入门到跑通。构建基于opencv c++的python package

如何安装请详见上文 【PyBind11+anaconda+opencv+windows11+cmake+wsl+vscode】从入门到跑通。构建基于opencv c++的python接口_子韵如初的博客-优快云博客w不需要安装啥x11 、 xming直接mobxterm可以搞定点击右上角的X server打开可视化服务器然后 apt install x11-apps -yxclock 搞定从mobxterm可以看到display的端口X11显示可视化的原理是就是通过X协议,类似于http对linux于w

weixin_43953700的博客 3万+

cf1187解题报告

cf1187解题报告 cf A 去掉都有的,剩下的取最大值+1 #include <bits/stdc++.h> #define int long long using namespace std; signed main() { int T; cin>>T; while(T--) { int n,s,t; ...

weixin_30508241的博客 108

保姆级教程:用STM32标准库搞定TIM1的PWM输出(附完整代码和避坑点)

本文提供STM32F103高级定时器TIM1的PWM输出保姆级教程,涵盖从工程搭建到完整代码实现的详细步骤。重点解析TIM1作为高级定时器的特殊配置要点,包括时钟初始化、PWM通道设置和GPIO复用功能,并附常见问题排查指南和动态调整占空比的实用技巧,帮助开发者高效实现精准PWM控制。

weixin_30673611的博客 433

RH850从0搭建Autosar开发环境【1】- 如何创建Davinci Configurator配置工程

当我们在公司接触Autosar开发环境时,基本都是完整的Davinci Configurator的配置工程,我们只能修修补补。 从本章开始将手把手搭建Rh850基于Vector公司Davinci Configurator的autosar配置工程。主要涉及到OS,COM,DCMM,NVM,BSWM,ECUM等基本模块,包括Vlink,memap使用,XCP标定的实现等。基本是实现一个基础版的项目开发。包括后期的GreenHills编译问题处理,生成最终的Hex文件。

weixin_42412049的博客 1万+

cf1207解题报告

cf1207解题报告 A 模拟 #include <bits/stdc++.h> #define ll long long using namespace std; ll T,a,b,c,x,y; int main() { cin>>T; while(T --> 0) { cin>>a>>b>&g...

weixin_30577801的博客 1772

大厂面试:字节跳动大数据面试题及参考答案(10万字长文及多张原理图持续更新)

在 Spark 中,宽窄依赖是用来描述 RDD(弹性分布式数据集)之间的依赖关系的概念。窄依赖是指父 RDD 的每个分区最多被一个子 RDD 的分区使用,即子 RDD 的分区可以通过确定的规则从父 RDD 的分区计算得到,并且不需要跨节点进行数据传输。窄依赖通常可以在一个节点上进行计算,不需要进行数据的 shuffle 操作,因此性能较高。宽依赖是指父 RDD 的一个分区可能被多个子 RDD 的分区使用,即子 RDD 的分区需要通过跨节点的数据 shuffle 操作从父 RDD 的多个分区获取数据。

大模型大数据攻城狮的专栏 1650

cf1199解题报告

目录 cf1199解题报告 A B C D E F cf1199解题报告 发一波水题。 A 模拟 #include <bits/stdc++.h> #define ll long ...

weixin_30577801的博客 152

解锁机器人动态平衡算法:从原理到实践

机器人的动态平衡,是指机器人在运动过程中,面对各种复杂的动态变化和外界干扰,依然能够维持稳定状态,不发生倾倒或失去控制的能力。它就像是一位技艺精湛的舞者,在舞台上翩翩起舞时,无论做出多么复杂的动作,都能巧妙地调整身体姿态,始终保持平衡,展现出优美的舞姿。在实际应用中,机器人的动态平衡对于其稳定运行起着至关重要的作用。以双足机器人为例,当它行走在不平整的地面上时,地面的起伏会使机器人的重心不断发生变化。如果没有良好的动态平衡能力,机器人就很容易因为重心偏移而摔倒,无法完成行走任务。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 3838

手把手教你RK3588 NPU驱动与RKNN Toolkit,AI开发不迷路!

本文详细介绍了RK3588 NPU驱动安装与RKNNToolkit使用方法。首先阐述了RK3588芯片在嵌入式AI领域的优势,包括6TOPS算力和混合量化支持。随后分步骤讲解了NPU驱动安装流程,包括准备工作、编译安装、验证调试及常见问题解决。接着全面介绍了RKNNToolkit的环境搭建、基本使用流程和图像分类实战案例,涵盖模型转换、推理优化等关键环节。最后展望了RK3588在智能安防、工业自动化等领域的应用前景,为开发者提供了完整的嵌入式AI开发指南。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 433

cf1206解题报告

目录 cf1206解题报告 A B C D E,F cf1206解题报告 A 模拟 #include <bits/stdc++.h> using namespace std; int n,m,a[...

weixin_30577801的博客 156

【AI大模型应用开发】【LlamaIndex教程】2. 存储模块:如何在 LlamaIndex 中使用自定义的向量数据库?(附代码)

前面文章两行代码就实现了文档的切分和向量化存储以及持久化存储。如果我们想用自定义的向量化数据库呢?

同学小张的博客 2117

cf1191 解题报告

cf1191 解题报告 A-简单模拟 脑内算出来让计算机输出 #include <bits/stdc++.h> #define ll long long using namespace std; int main() { int x; cin>>x; if(x%4==0) return puts("1 A"),0; if(x%4==...

weixin_30675967的博客 99

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【解题报告】博弈专场 (CF 2000~2200)前五题

【解题报告】博弈专场 (CF 2000+)前五题A:Fox and Card Game | CF388C题意思路代码B:Berzerk | CF786A题意思路代码C:Ithea Plays With Chtholly | CF896B题意思路代码D:Lieges of Legendre | CF603C题意思路代码E:Funny Game | CF731E题意思路代码 博弈专场 (CF 2000+)十题 这里面假设每个人都是聪明的,不会犯错,希望自己的收益最大。 A:Fox and Card Game

溢流眼泪的博客 1515

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

解题报告 —— cf1013div3

赛时四题,不解释,自己看。

xiaoyu524的博客 265

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CF117C Cycle 解题报告

CF117C Cycle 解题报告

qq_61768466的博客 267

CF540C Ice Cave 解题报告

CF540C Ice Cave 解题报告 1 题目链接 http://codeforces.com/contest/540/problem/C 2 题目整理 2.1 题目 : 冰洞 2.2 题目描述 你玩电脑游戏。你的角色站在一个多层次的冰洞的某个层次上。为了继续前进,你需要下降一层,唯一的方法就是从冰上掉下来。 你所在的洞穴层级是一个n行m列的矩形方格。每个细胞要么由完整的冰组成,要么由破裂的冰组成。您可以从每个单元格移动到与您的单元格相邻的单元格(由于游戏引擎的某些限制,您不能在同一个地方进行跳跃,即从

qq_61768466的博客 742

CF1712 解题报告

CF1712 解题报告

日居月诸的博客 324

CF60C Mushroom Strife 解题报告

CF60C Mushroom Strife 解题报告 1 题目链接 https://codeforces.com/problemset/problem/60/C 2 题目整理 题目 :蘑菇冲突 题目描述 帕夏和阿基姆正在绘制一张地图——草坪是地图的顶点,连接草坪的道路是地图的边。他们决定用以下方式对每片草坪上的蘑菇数量进行编码:在两片草坪之间的每一条边上,他们写下两个数字,即这些草坪上蘑菇数量的最大公约数(GCD)和最小公倍数(LCM)。但有一天,帕夏和阿基姆就这些蘑菇发生了争执,并撕毁了地图。帕夏只剩下一

qq_61768466的博客 251

【解题报告】CF DIV2 #ROUND 716 A~C

【解题报告】CF DIV2 #ROUND 716A~D 比赛链接 数学场/规律场 A题5分钟速切,B题开始没看懂先看了C,发现C整不来,B整了半天打表找规律一发AC。 排名:4300+ A. Perfectly Imperfect Array 思路 完全平方数=完全平方数x完全平方数 所以只要看有没有非完全平方数即可。 赛后很多人FST了,原因是sqrt误差,我这里先转化成int再判断的所以没事 代码 // Problem: A. Perfectly Imperfect Array // Contest:

鱼竿钓鱼干 458

【解题报告】CF DIV2 #ROUND 709 A~C

【解题报告】CF DIV2 #ROUND 709 A~D 比赛链接 A 思路 代码 在这里插入代码片 B 思路 代码 在这里插入代码片 C 思路 代码 在这里插入代码片 D 思路 代码 在这里插入代码片 反思 A: B: C: D:

鱼竿钓鱼干 337

codeforces #531(div3)解题报告 Apare_xzc

#531 (div3)解题报告 531div3链接 CF group链接 完成时间:2019/2/27晚上+28号中午 这套题前5道都比较简单,都是看懂题以后就有思路的,D题情况稍微有点儿多,代码写的比较长,F题是个状态压缩dp,我暴力做的,昨天晚上妥妥地TLE了,主要想说一下F题 A.Integer Sequence Dividing 题意: 给一个正整数n,把1,2.3…n这n个数分到两个集...

Apare_xzc的博客 611

CF28B pSort 解题报告

CF28B pSort 解题报告 1 题目链接 https://codeforces.com/problemset/problem/28/B 2 题目整理 题目 :pSort 题目描述 有一天,某个数组的nnn个单元格决定玩下面的游戏。最初,每个单元格包含一个数字,这个数字等于它的序数(从111开始)。同时,每个单元格也确定了它最喜欢的数字。如果∣i−j∣=di|i - j| = d_i∣i−j∣=di​,其中did_idi​是第iii个单元格的最喜欢的数字,则第iii个单元格可以与其他第jjj个单元格交换

qq_61768466的博客 4932

CF292D Connected Components 解题报告

CF292D Connected Components 解题报告 1 题目链接 https://codeforces.com/problemset/problem/292/D 2 题目整理 题目 : 连接组件 题目描述 我们已经知道Polycarpus担任系统管理员的大公司。那里的计算机网络由n台计算机和m根连接几对计算机的电缆组成。换言之,计算机网络可以表示为具有n个节点和m条边的无向图。让我们用1到n的整数来索引计算机,让我们用1到m的整数来索引电缆。 Polycarpus被赋予一项重要任务——检查公司

qq_61768466的博客 637

CF277A Learning Languages 解题报告

CF277A Learning Languages 解题报告 1 题目链接 https://codeforces.com/problemset/problem/277/A 2 题目整理 题目 : 学习语言 题目描述 BerCorp公司有nnn名员工。这些员工可以使用经批准的官方语言进行正式通信。语言用从111到mmm的整数进行编号。对于每个员工,我们都有他所知道的语言列表。这个列表可以是空的,即员工可能不懂官方语言。但员工愿意学习任何官方语言,只要公司支付他们的课程。一名员工参加一种语言的学习课程的费用是1

qq_61768466的博客 231
上一篇: CF解题报告:6
下一篇: Shake It!
PocketSam
博客等级 码龄4年 24粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值