第六届上海理工大学ACM程序设计全国挑战赛
比赛很不错都不是很难主要靠思维吧学东西多了喜欢把问题复杂化了反而看不懂题目的本质目录A 签到题L 签到题G hsq的群D hsq的神秘序列问题unordered_map查找配对元素位置会TN hsq的计组实验H 圣母的眼泪K hsq的子序列A 签到题桶排序#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0); #define endl \n #define pb push_back #define dbg(x) std::cout#x:x typedef long long LL; typedef pairint,int PII; const int N200005 ; const int INF0x3f3f3f3f; int n; int a[10]; void solve() { cinn; int tp; for(int i1;in;i){ cintp; a[tp]; } int ansINF; for(int i0;i3;i){ if(ansa[i])ansa[i]; } coutans; } int main() { IOS int T1;//cinT; while(T--) solve(); return 0; }L 签到题#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0); #define endl \n #define pb push_back #define dbg(x) std::cout#x:x typedef long long LL; typedef pairint,int PII; const int N200005 ; const int INF0x3f3f3f3f; int n; int a[10]; void solve() { string s; cins; cout114514; } int main() { IOS int T1;//cinT; while(T--) solve(); return 0; }G hsq的群简单查询二分和哈希表都行#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0); #define endl \n typedef long long LL; typedef pairint,int PII; const int N200005; const int INF0x3f3f3f3f; int n,m,q; void solve() { cinnmq; vectorunordered_setint st(m1); for(int j1;jm;j){ int k; cink; for(int t1;tk;t){ int x; cinx; st[j].insert(x); } } while(q--){ int a1,a2; cina1a2; int cnt0; for(int j1;jm;j){ if(st[j].count(a1) st[j].count(a2)) cnt; } coutcntendl; } } int main() { IOS int T1; cinT; while(T--) solve(); return 0; }D hsq的神秘序列思路查找一个序列中元素配对元素在另一个序列中的位置记录下来元素之间的顺序不能改变不能直接找有多少个配对元素新序列必须一一配对问题就转化成了以坐标为元素的最大上升子序列问题。问题unordered_map查找配对元素位置会T原因学了哈希其实比较好理解了unordered_map是给定的基数和模数如果出题故意卡哈希冲突就会变成链上的遍历O1就变成On了还有一个原因我们的插入值最大2^31很大超过负载因子*桶数量时unordered_map会重新分配更大的桶数量旧节点重新搬过去非常耗时。优化unordered_mapll, ll pos; pos.reserve(n * 2); // 提前申请足够多的桶避免多次扩容 pos.max_load_factor(0.7); // 把负载因子调低默认1.0降低冲突概率用空间换时间当然这题最好用二分查找lower_bound,O(logn)。unordered_map:动态插入查询二分静态查询优化2求最长上升子序列遍历元素upper_bound求第一个大于它的元素没有则上升数组序列边长有则替换但不影响最优序列长度值得好好想想最后数组大小就是答案#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false), cin.tie(0) #define endl \n #define ll long long int main() { IOS; int T; cin T; while (T--) { int n, m, k; cin n m k; ll full (1LL k) - 1; // 2^k - 1 vectorpairll, int a(n); // (值, 在A中的位置) for (int i 1; i n; i) { ll x; cin x; a[i - 1] {x, i}; } sort(a.begin(), a.end()); // 按值排序便于二分 vectorint pos; // 按B顺序收集匹配到的A位置 pos.reserve(m); for (int i 0; i m; i) { ll x; cin x; ll d full - x; // 需要的补值 if (d 0 || d full) continue; // 在排序后的a中二分查找d auto it lower_bound(a.begin(), a.end(), make_pair(d, -1)); if (it ! a.end() it-first d) { pos.push_back(it-second); // 记录A中的位置 } } if (pos.empty()) { cout 0 endl; continue; } // 对位置序列求 LIS最长上升子序列 vectorint lis; for (int p : pos) { auto it upper_bound(lis.begin(), lis.end(), p); if (it lis.end()) lis.push_back(p); else *it p; } cout lis.size() endl; } return 0; }N hsq的计组实验同样做麻烦了共4n个断点我们按分成四组每组转为十进制建立长度2n-1的环形数组谈论“120”个数情况若0个这一组没有断点可用ans0;若1个n-2个断点可用ans(n-2)若个数大于等于2个任意断点一定存在“120”(可惜比赛没想到这做麻烦了)ansn;#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0); #define endl \n #define int long long void solve() { int n; string s,S; cinns; sss; S000100100000; int ans0; for(int j0;j4;j){ int num0; for(int ij;i4*n;i4){ string tps.substr(i,12); if(Stp) num; } if(num1){ ans(n-2); }else if(num1){ ansn; } } coutansendl; } signed main() { IOS int T1;cinT; while(T--) solve(); return 0; }H 圣母的眼泪问题的点1.动态维护中间值我做的时候是想的线段树应该是可以做的但是没必要题解给的是堆来实现但是看大二学长的multiset要更好。2.整体偏移我们可以设应该add存累加的值和懒标记类似。3.对称问题我们可知mid2*k-mid;我们先将add对称过去然后加上2k最后设置标记p记录mid最后的正负对称一次就翻转一次。#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0); #define endl \n #define pb push_back #define dbg(x) std::cout#x:x #define int long long typedef pairint,int PII; const int N200005 ; const int INF0x3f3f3f3f; void solve() { int n,m; cinnm; multisetint L,R;//可重复的set //lambda表达式 auto add [](int x)-void { if(L.empty() || x *L.rbegin()){ L.insert(x); }else{ R.insert(x); } while(L.size() R.size() 1){ auto it prev(L.end()); R.insert(*it); L.erase(it); } while(R.size() L.size()){ auto it R.begin(); L.insert(*it); R.erase(it); } }; for(int i1;in;i){ int x; cinx; add(x); } //yp*xq; int p1,q0; auto work[](){ int a*L.rbegin(); int b; if(L.size()R.size()){ b*R.begin(); } else{ ba; } double resp*(ab)/2.0(double)q; printf(%.10lf\n,res); }; work(); while(m--){ int op,k; cinopk; if(op1){ add((k-q)/p); }else if(op2){ qk; }else{ p-p; q2*k-q; } work(); } } signed main() { IOS int T1;//cinT; while(T--) solve(); return 0; }K hsq的子序列我们可以将所有的1分为左右两部分左面全都是u右面全是t找我们的分界位置然后找多少对usst就行查找位置用三分

相关新闻

AM335x PRCM时钟模块寄存器实战:从原理到DVFS与低功耗配置

AM335x PRCM时钟模块寄存器实战:从原理到DVFS与低功耗配置

1. 项目概述与PRCM模块核心价值在嵌入式系统开发,尤其是基于复杂SoC(片上系统)的设计中,时钟和电源管理往往是决定系统稳定性、性能与功耗的基石。很多开发者初次接触底层驱动时,面对动辄上千页的技术参考手册&#xf…

2026/7/26 5:04:35 阅读更多 →
YOLOv11导出为NCNN格式:移动端和嵌入式平台的轻量化部署方案

YOLOv11导出为NCNN格式:移动端和嵌入式平台的轻量化部署方案

前言:为什么你的YOLO模型在手机上跑不动? 做目标检测的兄弟们一定都有过这样的经历——在服务器上用YOLO模型跑得飞起,mAP漂亮得不行,结果一部署到手机或嵌入式设备上,要么推理慢得像PPT,要么内存直接爆掉,要么干脆闪退。 这不是你一个人的问题。 根据Ultralytics官方…

2026/7/26 5:11:16 阅读更多 →
OpenVINO部署YOLOv11:CPU上3倍加速的Intel平台优化方案

OpenVINO部署YOLOv11:CPU上3倍加速的Intel平台优化方案

在Intel i7-13700上,YOLO11n经过OpenVINO INT8量化后推理延迟从原始的92ms降至19ms,配合异构调度进一步压缩到11ms——无需独立GPU即可跑满30FPS实时检测。 一、为什么你的YOLO部署在CPU上跑不动? 做AI部署的工程师都懂一个痛:模型训练时mAP猛如虎,一上CPU推理二百五。 …

2026/7/26 20:41:21 阅读更多 →

最新新闻

3分钟快速掌握:Get cookies.txt LOCALLY本地Cookie导出完全指南

3分钟快速掌握:Get cookies.txt LOCALLY本地Cookie导出完全指南

3分钟快速掌握:Get cookies.txt LOCALLY本地Cookie导出完全指南 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 你是否曾经需要将浏览器…

2026/7/26 23:31:27 阅读更多 →
Claude官方Skill的自动化商业应用实战

Claude官方Skill的自动化商业应用实战

1. 项目概述:解锁Claude官方Skill的隐藏商业价值最近在测试各种AI工具时,意外发现了Claude官方Skill中一些未被充分挖掘的商业化应用场景。这些功能虽然官方文档没有重点宣传,但经过实际验证,确实能帮助个人和小团队实现自动化创收…

2026/7/26 23:31:27 阅读更多 →
智能写作系统如何优化毕业论文全流程

智能写作系统如何优化毕业论文全流程

1. 毕业论文写作的痛点与变革契机每年毕业季,数以百万计的本科生都会面临同样的困境:如何在有限时间内完成一篇符合学术规范的毕业论文。从选题开题到文献综述,从数据收集到论文排版,每个环节都充满挑战。传统写作模式下&#xff…

2026/7/26 23:31:27 阅读更多 →
YOLOv12在智慧交通中的车辆检测应用与优化

YOLOv12在智慧交通中的车辆检测应用与优化

1. 项目概述:当计算机视觉遇上智慧交通在智慧城市建设和智能交通管理的大背景下,车辆类型自动识别技术正成为行业刚需。这个基于YOLOv12的车辆检测系统,不仅实现了高精度的车型分类(轿车、卡车、公交车等),…

2026/7/26 23:31:27 阅读更多 →
Google Cloud推提示词即代码 大模型提示词终于能版本管理了

Google Cloud推提示词即代码 大模型提示词终于能版本管理了

做 AI agent 开发的人应该都有这个体验:系统提示词写在一个巨大的文本块里,改一次提心吊胆一次。一个生产环境的 agent,提示词动辄几百行。里面塞了角色设定、工具描述、输出格式约束、few-shot 示例、安全限制、异常处理……但凡多一个工具或…

2026/7/26 23:31:26 阅读更多 →
java中文乱码解决之道(一)-----认识字符集

java中文乱码解决之道(一)-----认识字符集

Java中文乱码解决之道(一)-----认识字符集 引言:中文乱码的根源在Java开发中,中文乱码问题几乎每个开发者都会遇到。无论是从控制台输出、读取文件、网络传输还是数据库交互,只要涉及中文字符,就可能出现“…

2026/7/26 23:30:25 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻