放在一切的前面:

其实,这次我打的不是太好······

最后打了270多分······

分数和排名···

其实,我们弱省这就是一等奖了,全国不高。

话说我只AC一道题就很离谱······


【题解】P7909 [CSP-J 2021] 分糖果

题意:

给定n,L,Rn,L,Rn,L,R,选取一个正整数 k(L≤k≤R)k(L \le k \le R)k(L≤k≤R) ,使 kmodnk\bmod nkmodn 的值ansansans最大,输出这个 ansansans .

思路:

根据取余运算的定义,我们可以得到如下结论:

ans≤n−1ans \le n-1ans≤n−1

也就说,我们要使ansansans尽可能地接近n−1n-1n−1,有如下两种情况:

  1. 能找到一个 kmodn=n−1k \bmod n = n-1kmodn=n−1 ,那么我们就输出n−1n-1n−1;
  2. 不能找到 kmodn=n−1k \bmod n = n-1kmodn=n−1 ,那么我们就输出最接近n−1n-1n−1的值。

做法:

我们求一个 zzz.

令 z=Lmodnz=L \bmod nz=Lmodn .

那么,在 kmodn=n−1k \bmod n = n-1kmodn=n−1 中, k=n−1−z+Lk=n-1-z+Lk=n−1−z+L ;

我们只需要判定这个数字有没有超过 RRR 就可以:

  1. k≤Rk \le Rk≤R ,直接输出kkk即可。
  2. k>Rk > Rk>R ,可得知 RmodnR \bmod nRmodn 不会变得更小,所以最大值是 RmodnR \bmod nRmodn.

代码:

#include<bits/stdc++.h>
using namespace std;
long long n,l,r,z;
int main(){scanf("%lld%lld%lld",&n,&l,&r);z=l%n;if(n-1-z+l<=r) printf("%lld",n-1);else printf("%lld",r%n);return 0;
}

【题解】P7910 [CSP-J 2021] 插入排序

这道题,典型的模拟优化:

我们尽可能在修改时进行计算

博客园的简单记叙

我们先用sortsortsort进行第一次,也是唯一一次查询,为了不改变原有数组的位置,我们用两个数组。

处理时,我们应该逐个比较,根据我们的需要来进行数位的动态维护

我们在第二类就可以直接输出。

代码在博客园里。


【题解】P7911 [CSP-J 2021] 网络连接

这道题典型的模拟;

模拟这个东西,其实很简单。

A+B问题就是最简单的模拟。

我们只要按照题意判定,然后就能得出AC代码。

易错点:

  • 前导零没有判断:
    建议在判断字符时直接判断。
  • 没有判断两个符号连接在一起的情况:
    建议判断是否有数字出现。
  • 数字难以处理:
    建议用数字记录:sum=sum*10+a[i]-'0';
  • 没有足够的符号:
    建议记录出现多少符号。

AC代码:

#include<bits/stdc++.h>
using namespace std;
map<string,bool> pd1;
map<string,int> pd2;
long long n;
struct computr{string s1,s2;long long id;
}a[1001];
int main(){//  freopen("network.in","r",stdin);
//  freopen("network.out","w",stdout);scanf("%lld",&n);for(long long i=1;i<=n;i++){cin>>a[i].s1>>a[i].s2;a[i].id=i;string t=a[i].s2;bool w=1;int pd=0;bool hnum=0,tpd=1;for(int j=0,sum=0;j<a[i].s2.size();j++){if(j==0){if(a[i].s2[j]=='0' and (a[i].s2[j+1]>='0' and a[i].s2[j+1]<='9')){w=0;cout<<"ERR\n";break;}}if(a[i].s2[j]<'0' || a[i].s2[j]>'9'){tpd=1;if(a[i].s2[j+1]=='0' and (a[i].s2[j+2]>='0' and a[i].s2[j+2]<='9')){w=0;cout<<"ERR\n";break;}if((pd==0||pd==1||pd==2) && a[i].s2[j]!='.'){w=0;cout<<"ERR\n";break;}else if(pd==3 && a[i].s2[j]!=':'){w=0;cout<<"ERR\n";break;}else if(!hnum){w=0;cout<<"ERR\n";break;}else sum=0,pd++,tpd=0;hnum=0;}else{if(a[i].s2[j-1]=='0' and !hnum){w=0;cout<<"ERR\n";break;}hnum=1;sum=sum*10+a[i].s2[j]-'0';if(pd==0 || pd==1 || pd==2 || pd==3)if(sum<0 || sum>255){w=0;cout<<"ERR\n";break;}if(pd==4)if(sum<0 || sum>65535){w=0;cout<<"ERR\n";break;}if(pd>4){w=0;cout<<"ERR\n";break;}tpd=0;}}if(w==0) continue;if(pd<4 || !hnum){w=0;cout<<"ERR\n";continue;}if(a[i].s1=="Server"){if(pd1[t]){cout<<"FAIL\n";continue;}else{cout<<"OK\n";pd1[t]=1;pd2[t]=i;}}else{if(pd1[t]) cout<<pd2[t]<<"\n";else cout<<"FAIL\n";}}return 0;
}

此时,机房旁边一位大哥因斗地主而愁眉苦脸。


【题解】P7912 [CSP-J 2021] 小熊的果篮

建议用链表或set写:
尤其是set

如果会使用如上的任意一种数据结构,就能AC。

如果不了解,我写什么也没什么必要吧···

AC code 不放了,祝大家AC这道氵绿题。

推荐代码:

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int n,a[N];
set<int> st[2];
int main(){scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",a+i),st[a[i]].insert(i);st[0].insert(1e9);st[1].insert(1e9);while(*st[0].begin()!=1e9||*st[1].begin()!=1e9){int now=min(*st[0].begin(),*st[1].begin());for(;now!=1e9;now=*st[a[now]^1].lower_bound(now)){printf("%d ",now);st[a[now]].erase(now);}puts("");}return 0;
}//by shy

2021CSP-J题解整合相关推荐

  1. 黑龙江农垦科技职业学院喜迎寒假多校联赛2 A,C,F,G,H,I,J题解

    黑龙江农垦科技职业学院喜迎寒假多校联赛2 (欢 乐 A K 场) A,C,F,G,H,I,J题解 题目链接 A. 由于该题数据过大 首先就要使用到快读 不然会超时 快读模板以及解析(转载) 如果直接使 ...

  2. Peer J:整合高通量绝对丰度定量方法解析土壤细菌群落及动态

    本文转自"上海天昊生物",已获授权 英文题目: Assessing soil bacterial community and dynamics by integrated high ...

  3. 牛客竞赛,ZUST第17届公开赛,摸鱼记(A、DEFGH、J题解,3/7题代码)

    碎碎念 我快两点了才想起来下午比赛 一个多小时写了五份就签上两题的道 然后一直在调那个chess,优化搜索- 快结束了才意识到可以打表 好多题都只能过样例 合并序列,枚举k,暴力统计不知道为啥会WA, ...

  4. 团体程序设计天梯赛练习集题解整合

    网上介绍 团体程序设计天梯赛练习集 的文章已经很多了, 我的这篇文章是对练习集题解的整合,方便每一位备战 团体程序设计天梯赛 的同学使用. 一年一度的 团体程序设计天梯赛 即将开始,PTA的练习集是必 ...

  5. 湖南大学新生赛C,G,J题解

    C: 思路:做几组数据就基本能发现规律,奇数为-1,偶数为1 代码: #include<cstdio> #include<iostream> #include<cstri ...

  6. BJFU实验一链表部分题解整合

    目录 题目传送门 214.基于链式存储结构的图书信息表的创建和输出 描述 输入 输出 输入样例 1 输出样例 1 AC 代码 AC 代码 215.基于链式存储结构的图书信息表的排序 描述 输入 输出 ...

  7. 2021/10/24 2021ICPC江西省赛 部分个人题解 A,B,H,K,L,J

    K Many Littles Make a Mickle 题目大意:有t组输入,每组输入一个n,一个m,表示有n层,第i层有i*i个房间,每个房间有m个人,求有多少人. 题解:数据小,暴力求和即可(也 ...

  8. hdu(杭电oj)第一页题目题解

    第一页有几题没写,有机会补上(嗯,忘了就是另一回事了). 这个是无聊的时候刷了第一页..存到博客上当做纪念吧.. hdu1000 简单题 难度1 计算a+b的值 hdu1001 简单题 难度1 计算1 ...

  9. C/C++描述 第十一届蓝桥杯省赛 C/C++ 大学C组 第一场(2020.7.5) 题目+题解

    C/C++描述 第十一届蓝桥杯省赛 第一场(2020.7.5) 题目+题解   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓 ...

  10. 2019-2021 CSP-J1 CSP-S1 第一轮 初赛 相关题解及视频等

    2019-2021 CSP-J CSP-S 第一轮成绩及分数线汇总 2019-2021 CSP-J CSP-S 第一轮成绩及分数线汇总_dllglvzhenfeng的博客-CSDN博客 CSP 第一轮 ...

最新文章

  1. Nacos源码NacosServiceRegistry
  2. Linux虚拟网络设备之tun/tap
  3. mysql ---- DDL(了解)
  4. Zabbix 3.4.2 install Configuration
  5. 20天精通 Windows 8:系列课程资料集
  6. SparrowRecSys电影推荐系统项目(一)
  7. Unity移动的三种方式
  8. 《30天自制操作系统》学习笔记--第11天
  9. python运行环境怎么配置_python配置环境 菜鸟教程,python的运行环境怎么配置
  10. Redisson 限流器 RRateLimiter的使用
  11. Word2010如何隐藏去掉回车符
  12. 理工生文言文的致谢——小木虫
  13. DirectShow编程(3.5) - 关于DirectShow - DirectShow中的事件通告
  14. RxSwift | 万物皆 rx 的原因
  15. openFOAM动量方程中张量的处理
  16. 苹果怎么截图?教你各种iPhone机型截屏方法
  17. leetcode|一道算法题错失谷歌offer
  18. Android抓包指南①: 使用Fiddler抓HTTP/HTTPS包
  19. Cydia 源地址大合集
  20. 自然语言处理技术的三个里程碑

热门文章

  1. Java 定时任务@Scheduled使用
  2. 01.网络工程师常识
  3. Excel加载宏.xla文件的使用方法
  4. python函数分为哪几种_python函数有哪几种
  5. LAYUI 树形表格(tree table)
  6. 金角大王 python_【51CTO学院三周年】 老男孩python全栈心路
  7. mouseover 和 mouseenter
  8. DOA估计谱峰搜索的一种策略
  9. 微信小程序 地图显示
  10. js通过pako压缩数据后java解压数据