蓝桥杯2020年第十一届省赛 CC++ 研究生组2.0
约数个数
#include<iostream>
#include<cmath>
using namespace std;
int main(){int n = 78120, ans = 0, sqr = sqrt(n);for(int i = 1; i <= sqr; i++){if(n % i == 0){ans++;//printf("%d,", i);if(i * i != n) {ans++;//printf("%d,", n / i);}}}//printf("\n");printf("%d", ans);//96return 0;
}
打卡题
寻找2020
#include<iostream>
#include<string>
using namespace std;
typedef long long ll;
const int maxn = 10, N = 6;
string s[maxn];
int main(){
// ll ans = 0;
// for(int i = 0; i < N; i++){
// cin >> s[i];
// }
// for(int i = 0; i < N; i++){
// for(int j = 0; j <= N; j++){
// if(s[i][j] == '2' && s[i][j + 1] == '0' && s[i][j + 2] == '2' && s[i][j + 3] == '0') ans++;
// if(s[i][j] == '2' && s[i + 1][j] == '0' && s[i + 2][j] == '2' && s[i + 3][j] == '0') ans++;
// if(s[i][j] == '2' && s[i + 1][j + 1] == '0' && s[i + 2][j + 2] == '2' && s[i + 3][j + 3] == '0') ans++;
// }
// }
// printf("%lld\n", ans);//16525printf("16525");return 0;
}
扣掉送的5分,可恶的菜狗属性啊
超出范围的位置直接不再判断
#include<iostream>
#include<string>
using namespace std;
typedef long long ll;
const int maxn = 310, N = 300;
string s[maxn];
int main(){
// ll ans = 0;
// for(int i = 0; i < N; i++){
// cin >> s[i];
// }
// for(int i = 0; i < N; i++){
// for(int j = 0; j <= N; j++){
// if(j + 3 <= N && s[i][j] == '2' && s[i][j + 1] == '0' && s[i][j + 2] == '2' && s[i][j + 3] == '0') ans++;
// if(i + 3 < N && s[i][j] == '2' && s[i + 1][j] == '0' && s[i + 2][j] == '2' && s[i + 3][j] == '0') ans++;
// if(i + 3 < N && j + 3 <= N && s[i][j] == '2' && s[i + 1][j + 1] == '0' && s[i + 2][j + 2] == '2' && s[i + 3][j + 3] == '0') ans++;
// }
// }
// printf("%lld\n", ans);//16520printf("16520");return 0;
}
平面分割
#include<iostream>
using namespace std;
int main(){int line = 20, q = 20;long long ans = 1 + line * (line + 1) / 2;//手推 while(q--){ans *= 2; }printf("%lld", ans);//221249536return 0;
}
圆的切割方式猜错了……每次加一个圆,至多可以把已有的圆和直线都分为两份。小结版戳这里
#include<iostream>
using namespace std;
int main(){int line = 20, q = 20;long long ans = 1 + line * (line + 1) / 2;//手推 for(int i = 1; i <= q; i++){ans += line * 2 + (i - 1) * 2;}printf("%lld", ans);//1391return 0;
}
蛇形填数
#include<iostream>
using namespace std;
const int N = 50;
int a[N][N];
int main(){int n = 20, d = 1, l = 1, c = 1;a[1][1] = d;
// while(l <= 2 * n && c <= 2 * n){
// a[l][++c] = ++d;//右移
// while(c >= 2){//左下
// a[++l][--c] = ++d;
// }
// a[++l][c] = ++d;//下移
// while(l >= 2){
// a[--l][++c] = ++d;
// }
// }
// for(int i = 1; i <= n; i++){
// for(int j = 1; j <= n; j++){
// printf("%d\t", a[i][j]);
// }
// printf("\n");
// }
// printf("%d\n", a[2][2]);
// printf("%d\n", a[20][20]);//761printf("761"); return 0;
}
模拟之图形打印
七段码
#include <iostream>
using namespace std;
int main()
{// 请在此输入您的代码cout << 74;return 0;
}
80
差太多,手算还是不行
#include<iostream>
using namespace std;
const int N = 10, M = 7;
int e[N][N] = {0}, f[N], open[N];//e[i][j]表示i和j之间是否连通;f[i]表示结点i的父节点;open[i] 1表示结点i打开,0表示关闭
long long ans = 0;int find(int x){if(f[x] == x) return x;return f[x] = find(f[x]); //压缩路径
}void dfs(int n){if(n == 8){for(int i = 1; i <= M; i++) {f[i] = i;//并查集初始化,每个结点各为一个集合 }for(int i = 1; i <= M; i++){for(int j = 1; j <= M; j++){if(e[i][j] && open[i] && open[j]){//连通则合并 f[find(i)] = find(j);}}} int cnt = 0;//当前方案中的连通块有几个 for(int i = 1; i <= M; i++){if(open[i] && f[i] == i) cnt++;} if(cnt == 1) ans++;//只有一个连通块,则为合法方案 return;}open[n] = 1;//打开二极管ndfs(n + 1);open[n] = 0;//关闭二极管n dfs(n + 1);
}int main(){e[1][2] = e[1][6] = 1;//把二极管视为顶点,是否连通视为之间是否有边 e[2][1] = e[2][3] = e[2][7] = 1;e[3][2] = e[3][7] = e[3][4] = 1;e[4][3] = e[4][5] = 1;e[5][4] = e[5][7] = e[5][6] = 1;e[6][1] = e[6][7] = e[6][5] = 1;e[7][2] = e[7][3] = e[7][6] = e[7][5] = 1;dfs(1); cout << ans;return 0;
}
成绩分析
#include<iostream>
using namespace std;
int main(){int n, max = -1, min = 101, x;double sum = 0;scanf("%d", &n);for(int i = 0; i < n; i++){scanf("%d", &x);if(x > max) max = x;if(x < min) min = x;sum += x;}printf("%d\n%d\n%.2f", max, min, sum / n);return 0;
}
打卡题
回文日期
#include<iostream>
using namespace std;
bool isLeap(int y){if(y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) return true;//闰年29 return false;//平年28
}
bool judge(int n){int d = n % 100, m = n / 100 % 100, y = n / 10000;if(d < 1 || d > 31 || (d > 30 && (m == 4 || m == 6 || m == 9 || m == 11))) return false;if((m == 2 && d > 29 && isLeap(y)) || (m == 2 && d > 28 && !isLeap(y))) return false;if(m > 12 || m < 1) return false;return true;
}
bool sym(int n){int a[8] = {0}, t, num = 0;while(n){t = n % 10;a[num++] = t;n /= 10;}for(int i = 0; i < 4; i++){if(a[i] != a[7 - i]) return false;}return true;
}
bool special(int n){int a[8] = {0}, t, num = 0;while(n){t = n % 10;a[num++] = t;n /= 10;}if(a[0] == a[2] && a[2] == a[5] && a[5] == a[7] && a[1] == a[3] && a[3] == a[4] && a[4] == a[6]) return true;return false;
}
int main(){int t, t1, t2, flag = 1;scanf("%d", &t);t1 = t2 = t + 1;while(!judge(t1) || !sym(t1)) t1++;printf("%d\n", t1);while(!judge(t2) || !special(t2)) t2++;printf("%d", t2);return 0;
}
加了回文判断的日期处理类问题。
- 闰年
- 闰年:二月29天,y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)
- 平年:二月28天
- 大小月
- 1,3,5,7,8,10,12月都是31天
- 2月天数根据平闰判断
- 4,6,9,11月都是30天
- 得出周几 利用基姆拉尔森计算公式
W= (d+2m+3(m+1)/5+y+y/4-y/100+y/400+1)%7
其中,w为周几,0~6对应周日,周一,周二……周六
年y,月m, 日d
1月换为13月,2月换为14月
作物杂交
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn = 2010, N = 1e5 + 10;
int need[maxn], have[maxn] = {0};
int n, m, k, t, x;struct f{int x, y, z;
} fs[N];bool cmp(f f1, f f2){return f1.z <= f2.z;
}ll time(int n){int xt = 0, yt = 0, l = 1, r = k, mid = (l + r) / 2;while(l <= r && fs[mid].z != n){mid = (l + r) / 2;if(fs[mid].z > n) r = mid - 1;else l = mid + 1; }if(have[fs[mid].x] == 0) xt = time(fs[mid].x);if(have[fs[mid].y] == 0) yt = time(fs[mid].y);return max(need[fs[mid].x], need[fs[mid].y]) + max(xt, yt);
}int main(){cin >> n >> m >> k >> t;for(int i = 1; i <= n; i++){cin >> need[i];}while(m--){cin >> x;have[x] = 1;}for(int i = 1; i <= k; i++){cin >> fs[i].x >> fs[i].y >> fs[i].z;}sort(fs + 1, fs + k + 1, cmp);printf("%lld", time(t));return 0;
}
1分都木得骗到
#include<bits/stdc++.h>
using namespace std;
const int N = 2010;
typedef pair<int, int> PII;
int w[N], f[N];
bool have[N];vector<PII> fa[N];int dfs(int t)
{for(int i = 0; i < fa[t].size(); i++){int a = fa[t][i].first, b = fa[t][i].second;if(!have[a]) dfs(a);if(!have[b]) dfs(b);if(have[a] && have[b]) {have[t] = true;f[t] = min(f[t], max(w[a], w[b]) + max(f[a], f[b]));}}return f[t];
}
int main()
{int n, m, k, t;cin >> n >> m >> k >> t;memset(f, 0x3f3f, sizeof f);for(int i = 1; i <= n; i++) cin >> w[i];for(int i = 1; i <= m; i++){int temp;cin >> temp;have[temp] = true;f[temp] = 0;}for(int i = 1; i <= k; i++){int a, b, c;cin >> a >> b >> c;fa[c].push_back({a, b}); }cout << dfs(t);return 0;
}
子串分值和
#include<iostream>
#include<string>
using namespace std;
int main(){string s;long long ans = 0;cin >> s;for(int i = 0; i < s.size(); i++){for(int j = i; j < s.size(); j++){int flag[26] = {0};for(int k = i; k <= j; k++){if(flag[s[k] - 'a'] == 0){flag[s[k] - 'a'] = 1;ans++;}}}}cout << ans;return 0;
}
过50%测试点
看出来了要用递推,但是找不出来规律欸
#include<iostream>
#include<string>
using namespace std;
int main(){string s;long long ans = 0, l, flag[25] = {0};//l也要设为long long否则两个测试点不过cin >> s;s = " " + s;l = s.size();for(int i = 1; i < l; i++){ans += (i - flag[s[i] - 'a']) * (l - i);flag[s[i] - 'a'] = i;//该元素最近出现的位置 } cout << ans; return 0;
}
荒岛探测
相关文章:
蓝桥杯2020年第十一届省赛 CC++ 研究生组2.0
约数个数 #include<iostream> #include<cmath> using namespace std; int main(){int n 78120, ans 0, sqr sqrt(n);for(int i 1; i < sqr; i){if(n % i 0){ans;//printf("%d,", i);if(i * i ! n) {ans;//printf("%d,", n / i);}}}//…...
SOCKS5代理、代理IP、跨界电商、游戏技术与网络安全的综合探讨
在全球经济一体化的大背景下,"出海"已成为许多企业尤其是电商和游戏行业的重要战略方向。然而,随着企业业务的扩展到海外市场,网络安全、数据隐私和内容访问等问题也随之而来。本文将深入探讨SOCKS5代理、代理IP在跨界电商和游戏行…...

关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解
关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解 HTTP的由来 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Eng…...
useRef总结
一、使用ref引用值 在react中ref的主要用途是用来获取DOM元素或者某个组件实例的引用。当你想访问真实的DOM节点,或者需要在组件之间共享可变数据且不需要触发重新渲染时,通常会使用ref。在vue中ref是响应式的,当数据发生改变时,相…...

计算机网络知识等汇总补充
计算机网络知识汇总补充 一、四次挥手1、为什么TCP要等待2MSL2、如果说一个系统中,有大量的time_wait和close_wait,会是什么原因? 二、你是怎么解决粘包问题?三、你觉得哪些场景适合redis四、redis的持久化策略五、你会怎么保证my…...

word中插入mathtype版的符号后,行间距变大解决方法
问题 解决方法 选中该段,设置固定值行距。如果是宋体,小四,1.25行距,那么固定值就为20磅。 成功解决。...
怎么给html文件本地启动一个服务去访问
首先得先安装node 要启动一个本地的 HTTP 服务器,请先安装 Node.js,然后通过命令行在 HTML 文件所在文件夹下运行 npx serve...

LabVIEW无线快速存取记录器(WQAR)测试平台
LabVIEW无线快速存取记录器(WQAR)测试平台 随着民用航空业的迅速发展,航空安全的保障日益成为公众和专业领域的关注焦点。无线快速存取记录器(WirelessQuick Access Recorder, WQAR)作为记录飞行数据、监控飞行品质的…...

12-pyspark的RDD算子注意事项总结
目录 相近算子异同总结相近变换算子异同foreach和foreachPartitionfold和reducecoalesce和repatition 相近动作算子异同cache和persist 算子注意事项需要注意的变换算子需要注意的动作算子 PySpark实战笔记系列第三篇 10-用PySpark建立第一个Spark RDD(PySpark实战笔记系列第…...

设备基础命令,路由基础
直连路由 静态路由 动态路由 根据路由器学习路由信息、生成并维护路由表的方法包括直连路由(Direct)、静态路由(Static)和动态路由(Dynamic)。直连路由:路由器接口所连接的子网的路由方式称为直连路由;非直连路由:通过路由协议从别的路由器…...
golang context
作用:用于在go协程中 传递上下文、超时、取消、传值 底层实现:是由互斥锁、channel、map来实现的 互斥锁:保护临界资源 channel: 用于信号通知,比如ctx.Done() map: 保存父ctx下派生的所有子ctx, 父ctx关闭,子ctx都关…...

GPT中的Transformer架构以及Transformer 中的注意力机制
目录 1 GPT中的Transformer架构 2 transformer中的注意力机制 参考文献: 看了两个比较好的视频,简单做了下笔记。 1 GPT中的Transformer架构 GPT是Generative Pre-trained Transformer单词的缩写,其中transformer是一种特定的神经网络&a…...

Hive的简单学习二
一Hive 库的基本操作 1.1 建库 1.默认路径是/user/hive/warehouse 例如 我输入命令 create database text1 则text1出现在 warehouse目录下 2.指定位置创建数据库 create database text2 location /bigdata29/bigdata29db 后面的路径是hdfs的路径 3.最终写法 加上if n…...
Qt事件处理机制3-事件函数的分发
Qt开发中,经常重写event函数和具体的事件处理函数,例如mousePressEvent、paintEvent等,那么这些具体的事件处理函数是怎样被调用的呢?答案是由继承自QObject的类中的event函数来处理事件分发。这里以间接继承自QWidget的派生类MyB…...

4月9号总结
java学习 一.steam流 1.介绍 Stream 是 Java 8 中引入的一种处理集合数据的新抽象。它提供了一种高效且便利的方式来处理集合中的元素,支持函数式编程的特性,使得集合操作变得更加简洁和灵活。 2.创建 List和Set可以直接调用接口的steam方法转换为流 …...
Linux生态系统:探索Linux的开源世界
Linux生态系统:探索Linux的开源世界 在前面的博客中,我们深入探讨了Linux的各种技能和技巧,从入门到进阶,再到高手级别。这一路走来,相信大家对Linux已经有了全面的认识和掌握。然而,Linux的魅力远不止于此。今天,我们将进一步探索Linux生态系统,了解Linux在开源世界中的重要地…...

XILINX 10G PCS PMA IP核使用
文章目录 一、设计框图二、模块设计三、IP核配置四、上板验证五、总结 一、设计框图 关于GT高速接口的设计一贯作风,万兆以太网同样如此,只不过这里将复位逻辑和时钟逻辑放到了同一个文件ten_gig_eth_pcs_pma_0_shared_clock_and_reset当中。如果是从第…...

Scrapy框架内存泄漏问题及解决
说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除 作者:zhu6201976 一、问题背景及原因 官方文档:Debugging memory leaks — Scrapy 2.11.1 documentation Scrapy是一款功能强大的网络爬虫框…...
app 创建快捷入口 在手机上面多个icon
activity-alias详解及应用-CSDN博客 Android动态修改应用图标最佳实践 - 简书 AndroidManifest.xml 中 <activity-aliasandroid:name"包名.ui.mine.SecondActivityAlias"android:label"快捷入口"android:icon"mipmap/collection_one"andro…...

【网安小白成长之路】6.pkachu、sql-lbas、upload-lbas靶场搭建
🐮博主syst1m 带你 acquire knowledge! ✨博客首页——syst1m的博客💘 🔞 《网安小白成长之路(我要变成大佬😎!!)》真实小白学习历程,手把手带你一起从入门到入狱🚭 &…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...