第十三届蓝桥杯省赛CC++ 研究生组2.0

裁纸刀

#include<iostream>
using namespace std;
const int n = 20, m = 22;
int main(){cout << 4 + (n - 1) + n * (m - 1);//443return 0;
}

抠出来(上下左右)+ 剪开行 + 每行分开

灭鼠先锋

#include<iostream>
using namespace std;
int main(){cout << "VVVL";return 0;
}

答案错误
给出的局面是指先手已经先的方案,而不是初始情况再从先手开始,审题!!!
LLLV

质因数个数

#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
const ll maxn = 1e8;
ll p[maxn];bool isPrime(ll n){ll sqr = sqrt(n);for(ll i = 2; i <= sqr; i++){if(n % i == 0) return false;}return true;
}int main(){ll n, num = 0, s, ans = 0;scanf("%lld", &n);s = sqrt(n);for(int i = 2; i <= s; i++){if(n % i == 0){p[num++] = i;if(i * i != n) p[num++] = n / i;}}for(int i = 0; i < num; i++){if(isPrime(p[i])) ans++;}printf("%lld", ans);return 0;
}

通过0%(运行错误)
1e8的数组太大了,直接运行错误。
注意,n本身也是一个约数。所以当n是质数是,结果加一

#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
const ll maxn = 1e6;
ll p[maxn];bool isPrime(ll n){ll sqr = sqrt(n);for(ll i = 2; i <= sqr; i++){if(n % i == 0) return false;}return true;
}int main(){ll n, num = 0, s, ans = 0;scanf("%lld", &n);s = sqrt(n);for(int i = 2; i <= s; i++){if(n % i == 0){p[num++] = i;if(i * i != n) p[num++] = n / i;}}for(int i = 0; i < num; i++){if(isPrime(p[i])) ans++;}if(isPrime(n)) ans++;printf("%lld", ans);return 0;
}

选数异或

#include<iostream>
using namespace std;
const int maxn = 1e5 + 10;
int a[maxn], p[maxn] = {0};
int main(){int n, m, x, l, r, ans;scanf("%d%d%d", &n, &m, &x);for(int i = 1; i <= n; i++){scanf("%d", a + i);for(int j = i - 1; j >= 1; j--){if((a[i] ^ a[j]) == x) {p[i] = j;break;}}}
//	for(int i = 1; i <= n; i++){
//		printf("%d, ", p[i]);
//	}
//	printf("\n");while(m--){scanf("%d%d", &l, &r);ans = 0;for(int i = r; i >= l; i--){if(p[i] >= l){ans = 1;break;}}if(ans) printf("yes\n");else printf("no\n");}return 0;
}

GCD

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;int main(){ll a, b, k, x;scanf("%lld%lld", &a, &b);if(a < b) swap(a, b);x = a - b;printf("%lld", x - a % x);return 0;
}

观察数据规律

爬树的甲壳虫

全排列的价值

#include<iostream>
using namespace std;
typedef long long ll;
long long m = 998244353LL; 
int main(){ll n, ans = 1, t;scanf("%lld", &n);if(n <= 1){printf("0");return 0;}for(ll i = 3; i <= n; i++){ans = (ans * i) % m;}t = (n * (n - 1) / 2) % m;printf("%lld", ans * t % m);return 0;
}

找规律
注意两次除2的处理,要确保能被整除时进行,防止整数除数值错误

扫描游戏

数的拆分

#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
const int maxn = 5000;
ll p[maxn], flag[maxn] = {0}, num = 0;//flag[i] == 0表示i为素数 bool judge(ll n){int i = 0, cnt;while(n && i < num){cnt = 0;while(n % p[i] == 0){n /= p[i];cnt++;} i++;if(cnt == 1) return false;}if(n == 0) return true;ll sqr = sqrt(n);if(sqr * sqr == n) return true;ll tri = pow(n, 1.0 / 3);if(tri * tri * tri == n) return true;return false;
}int main(){ll t, a;for(int i = 2; i < maxn; i++){if(!flag[i]){p[num++] = i;for(int j = i * i; j < maxn; j += i) flag[j] = 1; }}scanf("%lld", &t);while(t--){scanf("%lld", &a);if(judge(a)) printf("yes\n");else printf("no\n");}return 0;
}

通过10%(答案错误)
忽略了质数表里的数超过sqrt(n)的情况;
开方,或者开三次方是取整后的值,注意开方可能要取整的问题

#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
const int maxn = 5000;
ll p[maxn], flag[maxn] = {0}, num = 0;//flag[i] == 0表示i为素数 bool judge(ll n){int i = 0, cnt;while(n && i < num && p[i] * p[i] <= n){cnt = 0;while(n % p[i] == 0){n /= p[i];cnt++;} i++;if(cnt == 1) return false;}ll sqr = sqrt(n);while(sqr * sqr <= n){if(sqr * sqr == n) return true;sqr++;}ll tri = pow(n, 1.0 / 3);while(tri * tri * tri <= n){if(tri * tri * tri == n) return true;tri++;}return false;
}int main(){ll t, a;for(int i = 2; i < maxn; i++){if(!flag[i]){p[num++] = i;for(int j = i * i; j < maxn; j += i) flag[j] = 1; }}scanf("%lld", &t);while(t--){scanf("%lld", &a);if(judge(a)) printf("yes\n");else printf("no\n");}return 0;
}

重复的数

#include<iostream>
#include<string.h>
using namespace std;
const int maxn = 1e5 + 10;
int a[maxn], flag[maxn] = {0}, p[maxn] = {0}, temp[maxn];
int main(){int n, m, l, r, k, cnt;scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%d", a + i);flag[a[i]]++;p[i] = flag[a[i]];//出现过的次数}scanf("%d", &m);while(m--){cnt = 0;memset(temp, 0, sizeof(temp));scanf("%d%d%d", &l, &r, &k);for(int j = r; j >= l; j--){if(p[j] >= k && !temp[a[j]]){temp[a[j]] = 1;for(int i = l; i <= j; i++){if(a[i] == a[j]){if((p[j] - p[i] + 1) == k) {cnt++;}break;}}}}printf("%d\n", cnt);}return 0;
}

通过40%(超时)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811529.shtml

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

相关文章

汽车标定技术(二十) -- 移植标定栈时主机厂、供应商应该做什么?(2)

目录 1.概述 1.1 考虑标定参数实现方式 1.2 A2L生成 2. 主机厂视角 3.小结 1.概述

【算法刷题day23】Leetcode:669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树

文章目录 Leetcode 669. 修剪二叉搜索树解题思路代码总结 Leetcode 108. 将有序数组转换为二叉搜索树解题思路代码总结 Leetcode 538. 把二叉搜索树转换为累加树解题思路代码总结 草稿图网站 java的Deque Leetcode 669. 修剪二叉搜索树 题目&#xff1a;669. 修剪二叉搜索树 解…

全量知识系统 程序详细设计 之 先验逻辑-实现:从“平凡”回到“平凡” (QA 百度搜索)

Q1. 思考&#xff1a;数学中的平凡&#xff0c;和程序中的平凡&#xff08;比如POJO&#xff09;、语言中的平凡&#xff08;比如纯文本&#xff09;&#xff0c;数据中的平凡&#xff08;比如 Number&#xff09;。因为我设计中的全知系统将设计的三个方面刻画为语言设计、程序…

tencentcloud-sdk-python-iotexplorer和tencent-iot-device有什么区别

1. tencent-iot-device tencent-iot-device 是腾讯云提供的物联网设备 SDK&#xff0c;用于在物联网场景中开发和连接设备。这个 SDK 提供了丰富的功能和接口&#xff0c;可以帮助开发者快速构建稳定、高效的物联网应用。 主要功能和特点&#xff1a; 设备连接管理&#xff1…

【DM8】AWR报告

sys.WRM$_WR_CONTROL记录快照的相关控制信息 sys.wrm $_snapshot记录快照的相关信息 1.初始化awr快照包 创建或删除DBMS_WORKLOAD_REPOSTORY系统包为1的时候开启&#xff0c;0的时候关闭 SELECT sf_check_awr_sys; sp_init_awr_sys(1);2.设置时间 –间隔10min一次 CALL dbms_…

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(2)

1.问题描述&#xff1a; 开发服务端推送&#xff0c;客户端能收到离线推送&#xff0c;但是推送收到的通知只能从手机顶部下拉看到&#xff0c;无法收到一个顶部的弹框。请问是什么原因&#xff1f; 解决方案&#xff1a; 可能原因一&#xff1a; 消息提醒的方式与消息类别有…

未来汽车硬件安全的需求(1)

目录 1.概述 2.EVITA 2.1 EVITA HSM 2.2 EVITA保护范围 3.市场变化对车载网络安全的影响 3.1 非侵入式攻击的风险 3.2 量子计算机的蛮力攻击 3.3 整车E/E架构的变化 3.4 网络安全标准和认证 3.5 汽车工业的网络安全措施 4.汽车安全控制器 4.1 TPM2.0 4.2 安全控…

CLIP模型入门

简介 CLIP&#xff08;Contrastive Language-Image Pre-Training&#xff09;是OpenAI在2021年初发布的多模态预训练神经网络模型&#xff0c;用于匹配图像和文本。该模型的关键创新之一是将图像和文本映射到统一的向量空间&#xff0c;通过对比学习的方式进行预训练&#xff…

华为eNSP网络模拟器

华为eNSP网络模拟器安装详细教程&#xff08;2024&#xff09; 华为eNSP网络模拟器安装详细教程&#xff08;2024&#xff09;_ensp安装-CSDN博客 eNSP设备基础配置 eNSP设备基础配置_ensp中路由器交换机pc机配置ip地址-CSDN博客 ENSP学习 ENSP学习-CSDN博客 【华为eNSP模拟器】…

运用OSI模型提升排错能力

1. OSI模型有什么实际的应用价值&#xff1f; 2. 二层和三层网络的区别和应用&#xff1b; 3. 如何通过OSI模型提升组网排错能力&#xff1f; -- OSI - 开放式系统互联 - 一个互联标准 - 从软件和硬件 定义标准 - 不同厂商的设备 研发的技术 - 具备兼容性 -- O…

知识图谱入门到实战之1.知识图谱基础

知识图谱基础 1.为什么要用知识图谱2.知识图谱的前世今生&#xff08;1&#xff09;发展脉络&#xff08;2&#xff09;发展阶段&#xff08;3&#xff09;知识图谱定义&#xff08;4&#xff09;知识类型&#xff08;5&#xff09;常见的开源知识图谱 3.知识图谱的相关技术&am…

微服务learning

一、部分网址 有道云笔记 (youdao.com) Spring Cloud Alibaba| ProcessOn免费在线作图,在线流程图,在线思维导图 系统由单体架构到微服务架构到底是如何演进的&#xff1f;-腾讯云开发者社区-腾讯云 (tencent.com) 阿里限流神器Sentinel夺命连环 17 问&#xff1f; - 掘金 …

拥有一台阿里云服务器可以做什么?

阿里云ECS云服务器可以用来做什么&#xff1f;云服务器可以用来搭建网站、爬虫、邮件服务器、接口服务器、个人博客、企业官网、数据库应用、大数据计算、AI人工智能、论坛、电子商务、AI、LLM大语言模型、测试环境等&#xff0c;云服务器吧yunfuwuqiba.com整理阿里云服务器可以…

2024/4/5—力扣—下一个排列

代码实现&#xff1a; 思路&#xff1a;两遍扫描 void swap(int *a, int *b) {int t *a;*a *b;*b t; }void reverse(int *nums, int l, int r) {while (l < r) {swap(nums l, nums r);l;r--;} }void nextPermutation(int *nums, int numsSize) {int i numsSize - 2;wh…

陆面、生态、水文模拟与多源遥感数据同化

原文链接&#xff1a;陆面、生态、水文模拟与多源遥感数据同化https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601198&idx6&sn51b9b26b75c9df1f11dcb9a187878261&chksmfa820dc9cdf584df9ac3b997c767d63fef263d79d30238a6523db94f68aec621e1f91df85f6…

算法-日期问题

算法-日期问题 1.判断是否闰年 int is_leap(int y) {if((y%4000)||(y%40&&y%100!0)){return 1;}return 0; }2.每个月的天数 const int months[]{0,31,28,31,30,31,30,31,31,30,31,30,31};3.计算当前年当前月的天数 int get_month_days(int year,int month) {int re…

一位来自河南农村,大学前从未接触电脑的大二学生

怎么说呢&#xff0c;在大学前从未接触过编程&#xff0c;总以为编程是特别高大上的东西&#xff08;现在依然以为编程是高大上的东西哈哈哈&#xff09;&#xff0c;父母借钱凑了一台2800的联想笔记本电脑&#xff08;说实话看到室友七八千的电脑玩游戏真羡慕&#xff09;&…

LANG 和 LC_ALL两者的区别

LANG 和 LC_ALL 都是环境变量&#xff0c;用于设置系统的语言环境。它们的区别如下&#xff1a; LANG 环境变量&#xff1a; LANG 是 Linux 系统中定义的最基本的语言环境变量。它用于设置默认的区域设置&#xff0c;包括语言、字符集和其他本地化设置。当系统需要在多个环境变…

Docker 学习笔记(五):梳理 Docker 镜像知识,附带 Commit 方式提交镜像副本,安装可视化面板 portainer

一、前言 记录时间 [2024-4-10] 前置文章&#xff1a; Docker学习笔记&#xff08;一&#xff09;&#xff1a;入门篇&#xff0c;Docker概述、基本组成等&#xff0c;对Docker有一个初步的认识 Docker学习笔记&#xff08;二&#xff09;&#xff1a;在Linux中部署Docker&…

C++ 解引用与函数基础:内存地址、调用方法及声明

C 解引用 获取内存地址和值 在上一页的示例中&#xff0c;我们使用了指针变量来获取变量的内存地址&#xff08;与引用运算符 & 一起使用&#xff09;。但是&#xff0c;你也可以使用指针来获取变量的值&#xff0c;这可以通过使用 * 运算符&#xff08;解引用运算符&…