CSP-J Day 4 模拟赛补题报告

news/2024/10/5 1:57:55/

姓名:王胤皓,校区:和谐校区,考试时间: 2024 2024 2024 10 10 10 4 4 4 9 : 00 : 00 9:00:00 9:00:00~ 12 : 30 : 00 12:30:00 12:30:00,学号: S 07738 S07738 S07738

请关注作者的 B 站,谢谢~链接

CSP-J Day 4 4 4 模拟赛补题报告

前言

考了我们班 Rank 1 1 1

分数

T1 three: A c c e p e t e d 100 \color{green}Accepeted\space100 Accepeted 100
T2 fit: A c c e p e t e d 100 \color{green}Accepeted\space100 Accepeted 100
T3 matrix: T L E 20 \color{orange}TLE\space20 TLE 20
T4 pair: T L E 20 \color{orange}TLE\space20 TLE 20

T1

题面

在这里插入图片描述

思路

打标找规律。

赛时 A c c e p e t e d \color{green}{Accepeted} Accepeted 代码

#include<bits/stdc++.h>
using namespace std;
int main(){freopen("three.in","r",stdin);freopen("three.out","w",stdout);int n;cin>>n;n%=3;if(n==0){printf("odd\nodd\nodd\n");}else if(n==1){printf("odd\nodd\neven\n");}else{printf("even\neven\nodd\n");}return 0;
}

T2

题面

在这里插入图片描述

思路

开桶数组,然后利用递推,预处理。

代码

#include<bits/stdc++.h>
using namespace std;
int n,m,tong[1000005],q,x;
int main(){freopen("fit.in","r",stdin);freopen("fit.out","w",stdout);cin.tie(0);ios::sync_with_stdio(false);cin>>n>>m;for(int i=1; i<=n; i++){int x;cin>>x;tong[x]++;}for(int i=1; i<=m; i++) tong[i]+=tong[i-1]/2;cin>>q;while(q--){cin>>x;cout<<tong[x]<<"\n";}return 0;
}

T3

题面

在这里插入图片描述

思路

枚举完起始行和终止行之后,还需要去计算结果,这一部分可以考虑优化。
可以按位去考虑,对于某个区间,按位异或之后的值,的某一位,是否为 1 1 1。只需要考虑这个区间内的这一位的 1 1 1 的个数是奇数个还是偶数个。
也可以考虑 x o r xor xor 数组 a n s + ( x o r r ⊕ x o r l − 1 ) ans + (xor_r \oplus xor_{l-1}) ans+(xorrxorl1) ,按位考虑,某一位如果想被累计到答案里,那么 x o r r xor_r xorr 的这一位和 x o r l − 1 xor_{l-1} xorl1 的这一位,不相同。所以可以考虑把 x o r xor xor 拆位,如果当前这一位是 1 1 1,那么就考虑它前面这一位是 0 0 0 的情况有多少个,反之同理。

代码

#include<bits/stdc++.h>
using namespace std;
int b[305][305],c[305],sum[305];
int main(){cin.tie(0);ios::sync_with_stdio(false);int n,m;cin>>n>>m; long long cnt=0ll;for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){cin>>b[i][j];}}long long ans=0;for(int u=1; u<=n; u++){memset(c,0,sizeof c);memset(sum,0,sizeof sum);for(int d=u;d<=n; d++){for(int j=1; j<=m; j++){c[j]^=b[d][j];sum[j]=c[j]^sum[j-1];}for(int p=0;p<10;p++){int cnt[2]={1,0};for(int j=1; j<=m; j++){int t=(sum[j]>>p)&1;ans+=(1<<p)*cnt[t^1];cnt[t]++;}    }}}cout<<ans<<"\n";return 0;
}

T4

题面

在这里插入图片描述

思路

具体看代码中的注释

代码

#include<bits/stdc++.h>
using namespace std;
int a[1000005],b[1000005],cntb[15];
__int128 res[15],vis[15],cnt;
void print(__int128 ans){if(ans==0) return;print(ans/10);putchar(ans%10+'0');
}
int main(){cin.tie(0);ios::sync_with_stdio(false);int n,m,p;cin>>n>>m>>p;for(int i=1; i<=n; i++) cin>>a[i];for(int i=1; i<=m; i++) cin>>b[i],cntb[b[i]]++;if(p==1){cout<<0<<"\n";return 0;}for(int k=0;k<p;k++){memset(vis,0,sizeof vis);for(int i=1; i<=m; i++){for(int j=b[i]+1; j<=p-1; j++){res[k]+=vis[j];//$res_k$ 表示 $b$ 数组加上 $k$ 后,逆序对的数量}vis[b[i]]++;b[i]=(b[i]+1)%p;}}memset(vis,0,sizeof vis);//$vis$ 数组统计之前块中,每个数的出现次数for(int i=1; i<=n; i++){cnt+=res[a[i]];//统计块内逆序对的数量for(int k=0;k<p;k++){//遍历 $b$ 中所有数字的取值for(int j=(a[i]+k)%p+1; j<p;j++){cnt+=cntb[k]*vis[j];//$b$ 序列中,$k$ 的数量,乘以之前块中比 $(a_i+k)\bmod p$ 大的数字个数}}for(int k=0;k<p;k++){//遍历 $b$ 中所有数字的取值vis[(a[i]+k)%p]+=cntb[k];//记录数量。}}print(cnt);return 0;
}

请关注作者的 B 站,谢谢~链接


http://www.ppmy.cn/news/1534687.html

相关文章

GS-SLAM论文阅读笔记-CaRtGS

前言 这篇文章看起来有点像Photo-slam的续作&#xff0c;行文格式和图片类型很接近&#xff0c;而且貌似是出自同一所学校的&#xff0c;所以推测可能是Photo-slam的优化与改进方法&#xff0c;接下来具体看看改进了哪些地方。 文章目录 前言1.背景介绍GS-SLAM方法总结 2.关键…

使用CAPTCHA对反爬虫有优势吗

使用CAPTCHA对抗爬虫确实具有一些显著的优势&#xff0c;以下是主要优点和考虑因素&#xff1a; 优势 有效阻止自动化访问 人机验证&#xff1a;CAPTCHA设计用于区分人类用户与机器人&#xff0c;能够有效防止自动化爬虫访问网站内容。阻挡恶意行为&#xff1a;大多数爬虫无法…

【vs code(cursor) ssh连不上服务器】但是 Terminal 可以连上,问题解决 ✅

问题描述 通过 vs code 的 ssh 原本方式无法连接&#xff0c;但是通过 Terminal 使用相同的 bash 却可以连接上服务器。 ssh -p 4xx username14.xxx.3 问题解决方法 在 vs code 的 config 里&#xff0c;将该服务器&#xff08;14.xxx.3&#xff09;的相关配置全部清空或注释…

枚举值实现下拉和tag展示的组件封装(vue2+js+elementUI)

枚举值组件EnumBase&#xff08;实现展示数据的时候提供tag样式&#xff0c;也可以变成下拉选择&#xff09; AllowSelect判断是要下拉选择还是展示tag标签 &#xff08;所有prop要使用的时候尽量通过computed进行&#xff0c;避免直接修改prop值&#xff09; <div :class&q…

什么是 Angular 的 @HostBinding 注解

HostBinding 是 Angular 中一个非常有用的装饰器&#xff0c;它的作用是让组件类中的属性能够与宿主元素的属性、类或样式进行绑定。通过 HostBinding&#xff0c;我们可以将组件类中的属性值直接同步到宿主元素的属性上&#xff0c;从而动态地控制宿主元素的样式、类名或者其他…

Python 解析 html

一、场景分析 假设有如下 html 文档&#xff1a; 写一段 python 脚本&#xff0c;解析出里面的数据&#xff0c;包括经度维度。 <div classstorelist><ul><li lng"100.111111" lat"10.111111"><h4>联盟店1</h4><p>…

Python Web 与量子计算

Python Web 与量子计算 目录 ⚛️ 量子计算的基础&#x1f40d; 使用 Python 调用量子计算&#x1f310; 实现量子算法的 Web 接口&#x1f6e0;️ 实战案例&#xff1a;量子计算在金融领域的应用 1. ⚛️ 量子计算的基础 量子计算是利用量子力学原理进行信息处理的一种新兴…

【数据结构】堆(Heap)详解

在深入了解堆这一重要的数据结构之前&#xff0c;不妨先回顾一下我之前的作品 ——“二叉树详解”。 上篇文章&#x1f449;剖析二叉树&#xff08;Binary Tree&#xff09; 二叉树作为一种基础的数据结构&#xff0c;为我们理解堆以及其他更复杂的数据结构奠定了坚实的基础。它…