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

news2024/11/30 12:40:51

姓名:王胤皓,校区:和谐校区,考试时间: 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.coloradmin.cn/o/2188752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows应用开发-解析AVI视频文件

本Windows应用解析AVI视频文件&#xff0c;以表格的方式显示AVI文件结构。并可以将结果保存到bmp图片。下面是&#xff0c;使用该应用解析一部AVI电影获得的图片。 应用开发信息 定义一个INFO结构&#xff0c;包含两个字符串对象&#xff0c;一个ULONGLONG变量&#xff0c;和…

奔驰AMG GT50升级原厂阀门运动排气声浪效果

AMG 排气系统 声浪级别可控制的AMG高性能排气系统可带来不同凡响的听觉体验。借助可调式废气风门&#xff0c;按下按钮&#xff0c;即可按需改变车辆的声浪&#xff0c;体验不同音色。静谧深沉或动感澎湃&#xff0c;悦耳声浪&#xff0c;如你所愿。

Python画笔案例-076 绘制纯画笔弹球

1、绘制纯画笔弹球 通过 python 的turtle 库绘制 纯画笔弹球,如下图: 2、实现代码 绘制纯画笔弹球,以下为实现代码: """纯画笔弹球动画.py读者可以在此基础上把它修改成一个拦球游戏。步骤为,建立一个Rect类,即矩形类。然后采用按键检测,当按了键时重画…

​​Python+Matplotlib可视化简单反函数和复合函数

import numpy as np import matplotlib.pyplot as plt# 设置中文字体 plt.rcParams[font.sans-serif] [SimHei] # 用黑体显示中文 plt.rcParams[axes.unicode_minus] False # 正常显示负号# 创建图形和子图 fig, (ax1, ax2) plt.subplots(1, 2, figsize(15, 6))# 反函数示…

Line: 折线图

对北京市、天津市、上海市、重庆市的近10年人口&#xff0c;做出折线图&#xff0c;效果 参考&#xff1a;Line - Basic_line_chart - Document (pyecharts.org) 1、折线图模板 import pyecharts.options as opts from pyecharts.charts import Linex_data ["Mon"…

基于Springboot+Vue的中医院问诊系统的设计与实现 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

内存卡数据恢复软件大揭秘,拯救你的重要数据

我们的生活中充斥着各种各样的数据&#xff0c;而内存卡作为一种常见的数据存储设备&#xff0c;承载着我们的照片、视频、文档等重要信息。然而存储在电子设备上就有可能导致数据丢失的情况。今天我们一起来探讨内存卡数据恢复的一些工具吧。 1.福晰内存卡数据恢复 连接直达…

ros2使用roscore报错

如果你在ros2中使用roscore命令&#xff0c;可能会出现报错。 即使你按照下面的命令安装python3-roslaunch&#xff0c;还是会报错。 注意&#xff0c;在ROS2中&#xff0c;已经不需要通过roscore命令启动ROS系统了。 ROS2中&#xff0c;不再需要ROS1中的roscore命令来启动一个…

【Python】Arrow使用指南:轻松管理日期与时间

Arrow 是一个基于 Python 的日期与时间管理库&#xff0c;提供了更人性化和直观的 API 处理时间数据。与 Python 标准库中的 datetime 模块相比&#xff0c;Arrow 极大地简化了时间创建、转换、格式化和操作的步骤。它通过统一的接口封装了常见的时间操作&#xff0c;支持时区转…

[C语言]--编译和链接

文章目录 目录 文章目录 前言 一、环境介绍 二、翻译环境 1.预处理&#xff08;预编译&#xff09; 2.编译 3.汇编 4.链接 三、运行环境 前言 对编译和链接 进行简单的介绍 一、环境介绍 在ANSIC的任何⼀种实现中&#xff0c;存在两个不同的环境。 翻译环境&#xff0c;在这…

Python从入门到高手4.4节-算法实战之计算次大值

目录 4.4.1 四个随机数中的次大值 4.4.2 计算次大值的算法思路 4.4.3 使用循环计算次大值 4.4.4 祝祖国繁荣昌盛 4.4.1 四个随机数中的次大值 假设有四个整型变量&#xff0c;它们值的大小未知&#xff0c;该怎么计算出四个中的次大值&#xff1f; 次大值即第二大的数。初…

vsomeip用到的socket

概述&#xff1a; ​ vsomeip用到的socket的代码全部都在implementation\endpoints目录下面&#xff0c;主要分布在下面六个endpoint类中&#xff1a; local_client_endpoint_impl // 本地客户端socket&#xff08;UDS Socket或者127.0.0.1的socket&#xff09;local_server…

深入挖掘C++中的特性之一 — 继承

目录 1.继承的概念 2.举个继承的例子 3.继承基类成员访问方式的变化 1.父类成员的访问限定符对在子类中访问父类成员的影响 2.父类成员的访问限定符子类的继承方式对在两个类外访问子类中父类成员的影响 4.继承类模版&#xff08;注意事项&#xff09; 5.父类与子类间的转…

FTP服务原理及使用

一、配置FTP服务 配置FTP服务&#xff0c;内容不难&#xff0c;本地虚拟机上自带FTP服务程序&#xff0c;自己下载即可。 二、理解FTP的主动模式和被动模式原理 1 主动模式 客户端先开启一个大于1024的随机端口&#xff0c;用来与服务器的21号端口建立控制连接&#xff1b;当…

rabbitmq消费者应答模式

1.应答模式 RabbitMQ 中的消息应答模式主要包括两种&#xff1a;自动应答&#xff08;Automatic Acknowledgement&#xff09;和手动应答&#xff08;Manual Acknowledgement&#xff09;。 自动应答&#xff1a; 不在乎消费者对消息处理是否成功&#xff0c;都会告诉队列删…

win11远程连接MySQL(linux版),不需安装docker容器

不想安装虚拟机&#xff0c;想在Windows 11上运行Linux。 在win11的搜索框内&#xff0c;搜索"启用或关闭"&#xff0c;出现了“启用或关闭Windows功能”&#xff0c;双击打开。 勾选"适用于Linux的Windows子系统"&#xff0c;“虚拟机平台”&#xff0c…

网站可疑问题

目标站点 Google hack 页面访问 抓包 POST /admin.php?actionlogin HTTP/2 Host: www.xjy.edu.cn Cookie: xkm_sidA6x4Cgw2zx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0 Accept: text/html,application/xhtmlxml,appl…

AtCoder ABC373 A-D题解

ABC372 的题解没写是因为 D 是单调栈我不会(⊙︿⊙) 比赛链接:ABC373 总结&#xff1a;wssb。听说 E 很水&#xff1f;有时间我看看。 Problem A: Code #include <bits/stdc.h> using namespace std; int mian(){int ans0;for(int i1;i<12;i){string S;cin>&g…

7c结构体

文章目录 一、结构体的设计二、结构体变量的初始化2.1结构体在内存表示&#xff1b;**2.2**结构体类型声明和 结构体变量的定义和初始化只声明结构体类型声明类型的同时定义变量p1用已有结构体类型定义结构体变量p2*定义变量的同时赋初值。*匿名声明结构体类型 2.3 结构体嵌套及…

【笔记】选择题笔记408

无向图有16条边&#xff0c;其中度为4的顶点个数为3&#xff0c;度为3的顶点个数为4&#xff0c;其他顶点的度均小于3。图G所含的顶点个数至少是&#xff1a;11 总度数16232 度为2的顶点个数为x&#xff0c;度为1的顶点个数为y&#xff0c;度为0的顶点个数为z 由此可列出三元一…