当前位置: 首页 > news >正文

2023湖南省赛

​​​​​​连接

目录

A:开开心心233

B:Square Game

C:室温超导

F:necklace

I:hard math

J:radius

K:tourist


补题中,会给出大部分代码

A:开开心心233

签到题 ,无论二分还是解方程还是直接for循环枚举都能直接通过啦

signed main()
{ios_base::sync_with_stdio(0); cin.tie(0),cout.tie(0);int n,m;cin>>n>>m;
//	cout<<-3+sqrt(3*3+4*2*(n+m))<<'\n';int res1=n-(-3+sqrt(3*3+4*2*(n+m)))/2;int res2=n-(-3-sqrt(3*3+4*2*(n+m)))/2;if(res1<=n&&res1>=0) cout<<res1;else cout<<res2;
}

B:Square Game

#define f first
#define s second
const int N=1e6+5;
int f[N];
void init()
{for(int i=1;i<N;i++){int q=sqrt(i);map<int,bool>mp;if(q*q==i||q*q+1==i){for(int j=0;j<i;j+=q){mp[f[j]]=1;}int cnt=0;for(auto w:mp){if(w.f==cnt) cnt++;else break;}f[i]=cnt;}else{f[i]=f[i-1];}}
}
signed main() {ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);init();int n;cin>>n;int sum=0;for(int i=1;i<=n;i++){int x;cin>>x;sum^=f[x];}if(sum==0){cout<<"Second\n";}else{cout<<"First\n";}
}

C:室温超导

#define int long long
#define f first
#define s second
const int N = 500000 + 5;
char str[N];
struct Node
{int len, fa;int ch[26];
}node[N*4];
int tot = 1, last = 1;
int summ = 0;//不同的子串数
void extend(int c)
{int p = last, np = last = ++tot;node[np].len = node[p].len + 1;for (; p && !node[p].ch[c]; p = node[p].fa) node[p].ch[c] = np;if (!p) {node[np].fa = 1; summ += node[np].len - node[node[np].fa].len;}else{int q = node[p].ch[c];if (node[q].len == node[p].len + 1) { node[np].fa = q; summ += node[np].len - node[node[np].fa].len; }else {int nq = ++tot;summ -= node[q].len - node[node[q].fa].len;node[nq] = node[q], node[nq].len = node[p].len + 1;node[q].fa = node[np].fa = nq;summ += node[q].len - node[node[q].fa].len;summ += node[np].len - node[node[np].fa].len;summ += node[nq].len - node[node[nq].fa].len;for (; p && node[p].ch[c] == q; p = node[p].fa) node[p].ch[c] = nq;}}
}
signed main() {ios_base::sync_with_stdio(0);cin.tie(0), cout.tie(0);int n, m;cin >> n >> m;cin >> str + 1;string t;cin >> t;t = ' ' + t;vector<int>sum(30);int all = 0;//int summ = 0;;for (int i = 1; i <= n - m + 1; i++) {int pre_tot = summ;extend(str[i] - 'a');//	summ = 0;//	for (int j = 2; j <= tot; j++) {//		summ += node[j].len - node[node[j].fa].len;//	}sum[str[i] - 'a'] += (summ - pre_tot);}all += summ;for (int i = n - m + 2; str[i]; i++) {int j = i - (n - m);int pre_tot = summ;extend(str[i] - 'a');//	summ = 0;//	for (int j = 2; j <= tot; j++) {//		summ += node[j].len - node[node[j].fa].len;//	}sum[str[i] - 'a'] += (summ - pre_tot);all += summ;all -= sum[t[j - 1] - 'a'];if (sum[t[j - 1] - 'a']) all++;}cout << all;
}

F:necklace

const int inf=0x3f3f3f3f;
int change[410][410];signed main()
{ios_base::sync_with_stdio(0); cin.tie(0),cout.tie(0);memset(change,0x3f,sizeof change);int n,m;cin>>n>>m;vector<int>s(n),t(n);for(int i=0;i<n;i++){cin>>s[i];}for(int i=0;i<n;i++){cin>>t[i];}while(m--){int a,b,c;cin>>a>>b>>c;change[a][b]=min(change[a][b],c);}for(int k=1;k<=400;k++){for(int i=1;i<=400;i++){for(int j=1;j<=400;j++){change[i][j]=min(change[i][j],change[i][k]+change[k][j]);}}}bool ok=0;int tot=inf;for(int i=0;i<n;i++){int sum=0;bool flag=1;for(int j=0;j<n;j++){if(s[j]==t[(i+j)%n]) continue;int p=inf;p=min(change[s[j]][t[(i+j)%n]],p);p=min(change[t[(i+j)%n]][s[j]],p);if(p>=inf){flag=0;break;				}sum+=p;}if(flag==0){
//			ok=0;
//			break;}else{ok=1;tot=min(tot,sum);}}if(!ok){cout<<-1<<'\n';}else{cout<<tot<<'\n';}
}

I:hard math

const int inf = 0x3f3f3f3f3f3f3f3f, N = 2e5 + 5, mod = 1e9 + 7;
int a[N], b[N];
int dp[N][10][2][2];//上界,下界
int A;
int tot[N];
int dfs(int n, int sum, int up, int down)
{if (sum > A) return 0;if (dp[n][sum][up][down]) return dp[n][sum][up][down];if (n == 0) {if (sum == A) return 1; else {return 0;}}int l = 0, r = 9;if (up == 1) {r = b[n];}if (down == 1) {l = a[n];}int res = 0;for (int i = l; i <= r; i++) {if (tot[i]) {tot[i]++;res += dfs(n - 1, sum, up & (i == b[n]), down & (i == a[n]));res %= mod;tot[i]--;}else {tot[i]++;res += dfs(n - 1, sum + 1, up & (i == b[n]), down & (i == a[n]));res %= mod;tot[i]--;}}return dp[n][sum][up][down] = res;
}
signed main()
{ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0);int n;cin >> n;string s;cin >> s;reverse(s.begin(), s.end());s = ' ' + s;for (int i = 1; i <= n; i++) {a[i] = s[i] - '0';}cin >> s;reverse(s.begin(), s.end());s = ' ' + s;for (int i = 1; i <= n; i++) {b[i] = s[i] - '0';}cin >> A;cout << dfs(n, 0, 1, 1);
}

 

J:radius

不会写,借鉴一下链接

#define int long long
#define PII pair<int,int>
#define f first
#define s second
const int inf = 0x3f3f3f3f3f3f3f3f, N = 1e5 + 5, mod = 1e9 + 9;
int x[N], y[N], z[N];
int n;
struct node
{double pos;int val;
}a[2*N];
bool check(double r)
{int cnt = 0;for (int i = 1; i <= n; i++) {double res = r * r - y[i] * y[i] - z[i] * z[i];if (res < 0) continue;res = sqrt(res);a[++cnt] = { x[i] - res,1 };a[++cnt] = { x[i] + res,-1 };}sort(a + 1, a + 1 + cnt, [&](node i, node j) {return i.pos < j.pos;});int sum = 0;for (int i = 1; i <= cnt; i++) {sum += a[i].val;if (sum >= n / 2) {return 1;}}cnt = 0;for (int i = 1; i <= n; i++) {double res = r * r - y[i] * y[i] - x[i] * x[i];if (res < 0) continue;res = sqrt(res);a[++cnt] = { z[i] - res,1 };a[++cnt] = { z[i] + res,-1 };}sort(a + 1, a + 1 + cnt, [&](node i, node j) {return i.pos < j.pos;});sum = 0;for (int i = 1; i <= cnt; i++) {sum += a[i].val;if (sum >= n / 2) {return 1;}}cnt = 0;for (int i = 1; i <= n; i++) {double res = r * r - x[i] * x[i] - z[i] * z[i];if (res < 0) continue;res = sqrt(res);a[++cnt] = { y[i] - res,1 };a[++cnt] = { y[i] + res,-1 };}sort(a + 1, a + 1 + cnt, [&](node i, node j) {return i.pos < j.pos;});sum = 0;for (int i = 1; i <= cnt; i++) {sum += a[i].val;if (sum >= n / 2) {return 1;}}return 0;
}
signed main()
{ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0);cin >> n;for (int i = 1; i <= n; i++) {cin >> x[i] >> y[i] >> z[i];}double l = 0, r = 1e6;for (int i = 0; i <= 50; i++) {double mid = (l + r) / 2;if (check(mid)) {r = mid;}else {l = mid;}}printf("%.10lf", l);
}

K:tourist

#define int long long
const int K=1<<7,mod=1e9+9;
int path[21][21];
int st[K];
int sz[10];
int siz(int x) {int cnt=0;while(x) {if(x&1) cnt++;x>>=1;}return cnt;
}
int a[21][21];
int f[21];
int n,m,k,d;
void mul(int f[],int a[21][21]) {int c[21]= {0};for(int j=1; j<=n; j++) {for(int k=1; k<=n; k++) {c[j]=(c[j]+f[k]*a[k][j])%mod;}}memcpy(f,c,sizeof c);
}
void mulself(int a[21][21]) {int c[21][21]= {0};for(int i=1; i<=n; i++) {for(int j=1; j<=n; j++) {for(int k=1; k<=n; k++) {c[i][j]=(c[i][j]+a[i][k]*a[k][j])%mod;}}}memcpy(a,c,sizeof c);
}
signed main() {ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);cin>>n>>m>>k>>d;d--;for(int i=0; i<k; i++) {int x;cin>>x;st[(1ll<<i)]=x;}while(m--) {int u,v;cin>>u>>v;path[u][v]=1;path[v][u]=1;}for(int i=0; i<(1ll<<k); i++) {int size=siz(i);memcpy(a,path,sizeof path);for(int j=0; j<k; j++) {if((i>>j)&1) {int p=st[(1ll<<j)];for(int k=1; k<=n; k++) {a[p][k]=0;a[k][p]=0;}}}for(int ii=1; ii<=n; ii++) {f[ii]=1;}int dd=d;for(; dd; dd>>=1) {if(dd&1) mul(f,a);mulself(a);}for(int j=1; j<=n; j++) {sz[size]+=f[j];sz[size]%=mod;}}int sum=0;for(int i=0; i<=k; i++) {if(i%2==0) {sum+=sz[i];sum%=mod;} else {sum=(sum-sz[i]+mod)%mod;}}cout<<sum<<'\n';
}

相关文章:

2023湖南省赛

​​​​​​连接 目录 A:开开心心233 B:Square Game C:室温超导 F:necklace I:hard math J:radius K:tourist 补题中&#xff0c;会给出大部分代码 A:开开心心233 签到题 &#xff0c;无论二分还是解方程还是直接for循环枚举都能直接通过啦 signed main() {ios_base:…...

AISchedule(3):基础生成表格

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>事件列表</title><!-- 加载样式表 --><style>/* 基础样式 */body {background: linear-gradient(to bottom, #f2f2f2, #e0e0e0);font-family: Helvetica…...

OpenAI 上线新功能力捧 RAG,开发者真的不需要向量数据库了?

近期&#xff0c; OpenAI 的开发者大会迅速成为各大媒体及开发者的热议焦点&#xff0c;有人甚至发出疑问“向量数据库是不是失宠了&#xff1f;” 这并非空穴来风。的确&#xff0c;OpenAI 在现场频频放出大招&#xff0c;宣布推出 GPT-4 Turbo 模型、全新 Assistants API 和一…...

PyCharm鼠标控制字体缩放

File->Settings->Keymap 右边搜索栏输入increase(放大)&#xff0c;可以看到下面出现increase Font Size(放大字体尺寸)&#xff0c;双击。 双击后出现几个选项&#xff0c;选择Add Mouse Shortcut,会出现一个页面给录入动作。 按住Ctrl同时鼠标向上滚动&#xff0c;该动…...

NI USRP RIO软件无线电

NI USRP RIO软件无线电 NI USRP RIO是SDR游戏规则的改变者&#xff0c;它为无线通信设计人员提供了经济实惠的SDR和前所不高的性能&#xff0c;可帮助开发下一代5G无线通信系统。“USRP RIO”是一个术语&#xff0c;用于描述包含FPGA的USRP软件定义无线电设备&#xff0c;例如…...

kicad源代码研究:symbol properties窗口中为SCH_SYMBOL添加或删除一个sch_field

向grid中添加一个sch_field FIELDS_GRID_TABLE<SCH_FIELD>* m_fields; WX_GRID* m_fieldsGrid; simEnableFieldRow (int) m_fields->size(); m_fields->emplace_back( VECTOR2I( 0, 0 ), simEnableFieldRow, m_symbol, SIM_ENABLE_FIELD ); // notify the grid w…...

httpClient超时时间详解与测试案例

使用httpclient作为http请求的客户端时&#xff0c;我们一般都会设置超时时间&#xff0c;这样就可以避免因为接口长时间无响应或者建立连接耗时比较久导致自己的系统崩溃。通常它里面设置的几个超时时间如下&#xff1a; RequestConfig config RequestConfig.custom().setCo…...

后端接口性能优化分析-数据库优化

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…...

都很忙,哪里寻找时间?

最近忙不&#xff1f; 多久未联系的朋友发来信息。 我感觉就是一坑。 说忙吧&#xff0c;显得自己很重要&#xff0c;可说不忙吧&#xff0c;又显得没价值。 有事说事&#xff0c;不要上来就说“在不&#xff1f;忙不&#xff1f;有时间不&#xff1f;空不&#xff1f;”等…...

【经验记录】Ubuntu系统安装xxxxx.tar.gz报错ImportError: No module named setuptools

最近在Anaconda环境下需要离线状态&#xff08;不能联网的情况&#xff09;下安装一个xxxxx.tar.gz格式的包&#xff0c;将对应格式的包解压后&#xff0c;按照如下命令进行安装 sudo python setup.py build # 编译 sudo python setup.py install # 安装总是报错如下信息&am…...

SDL2 消息循环和事件响应

1.简介 SDL事件可以是用户输入、系统通知或窗口管理事件等。SDL事件可以通过SDL_PollEvent和SDL_WaitEvent函数来获取。在SDL中&#xff0c;事件是通过SDL_Event结构体表示的&#xff0c;其中包含事件类型以及与该类型相关的具体数据。 下面是一些常见的SDL事件类型和相关的事…...

技巧篇:Mac 环境PyCharm 配置 python Anaconda

Mac 中 PyCharm 配置 python Anaconda环境 在 python 开发中我们最常用的IDE就是PyCharm&#xff0c;有关PyCharm的优点这里就不在赘述。在项目开发中我们经常用到许多第三方库&#xff0c;用的最多的命令就是pip install 第三方库名 进行安装。现在你可以使用一个工具来帮你解…...

matplotlib绘图

介绍 在官网上有更多种类的图型的绘制方法 matpoltlib中文官方文档&#xff1a;例子_Matplotlib 中文网 matpoltlib英文官方文档&#xff1a;Examples — Matplotlib 3.8.1 documentation 分类 一、折线图 1、要实现的功能&#xff1a; 2、实例&#xff1a; # 导入包 from…...

QT使用Socket与安卓Socket互发消息

背景:安卓设备通过usb网络共享给Linux,此时安卓设备与linux处于同一网络环境,符合使用socket的条件,linux做客户端,安卓做服务端 1.QT使用Socket (1).在工程文件中加入 QT network (2).导包以及写一些槽函数用做数据传输与状态接收 #ifndef MAINWINDOW_H #define MAINWINDOW…...

Redis05-集群方案

目录 Redis集群方案 主从复制 主从复制的基本原理 主从复制的工作流程 乐观复制 主从复制的优势 哨兵机制 哨兵的关键作用 服务状态监控 哨兵选举Master规则 分片集群 分片集群中的数据读写 数据写入 数据读取 一致性哈希和客户端分片 Redis集群方案 微服务时代…...

故障演练的关键要素及重要性

故障演练是一种有计划的、模拟真实生产环境故障的活动。通过故意引入故障、模拟系统组件失效或模拟其他异常条件&#xff0c;团队可以观察并评估系统在这些情况下的反应。这有助于发现潜在的问题、改进应急响应和提高系统整体的可用性。 一、故障演练的关键要素 计划性&#xf…...

11月15日,每日信息差

今天是2023年11月15日&#xff0c;以下是为您准备的12条信息差 第一、去哪儿正式启动鸿蒙原生应用开发 第二、最高支持千亿向量规模&#xff0c;腾讯云向量数据库全面升级&#xff0c;同时和信通院一起联合50多家企业共同发布了国内首个向量数据库标准&#xff0c;推进向量数…...

java-关于alibaba的JSON.parseArray注意事项

String resultStr dataStrJosnObject.get("result").toString();JSONArray resultArray JSON.parseArray(resultStr);resultStr 格式是[{},{},{}] resultArray 的size是3 获取第一个{}字符串&#xff0c;使用resultArray.get(0) 获取第二哥个{}字符串&#xff0c;使…...

软文推广中媒体矩阵的优势在哪儿

咱们日常生活中是不是经常听到一句俗语&#xff0c;不要把鸡蛋放在同一个篮子里&#xff0c;其实在广告界这句话也同样适用&#xff0c;媒介矩阵是指企业在策划广告活动时&#xff0c;有目的、有计划的利用多种媒体进行广告传播&#xff0c;触达目标用户。今天媒介盒子就来和大…...

xss总结

xss注入总结 漏洞描述 XSS&#xff08;跨站脚本攻击&#xff09;是一种常见的网络安全漏洞&#xff0c;攻击者利用该漏洞在网页中插入恶意脚本&#xff0c;以获取用户的敏感信息或执行恶意操作。 XSS中文叫做跨站脚本攻击&#xff08;Cross-site scripting&#xff09;&…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...