『模拟赛』暑假集训CSP提高模拟13

Rank

上半最后一次正式模拟赛,感觉还彳亍

image

A. 小孩召开法1

原[ABC278F] Shiritori

签到题。

博弈论+状压+记搜秒了,感觉不用太细说。

不过是暑假以来第一次首 A 啊,开始还胡乱想 SG 定理的做法,后来发现不用那么复杂。

点击查看代码
#include<bits/stdc++.h>
#define fo(x,y,z) for(register int (x)=(y);(x)<=(z);(x)++)
#define fu(x,y,z) for(register int (x)=(y);(x)>=(z);(x)--)
using namespace std;
typedef long long ll;
#define lx ll
inline lx qr()
{char ch=getchar();lx x=0,f=1;for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;for(;ch>='0'&&ch<='9';ch=getchar())x=(x<<3)+(x<<1)+(ch^48);return x*f;
}
#undef lx
#define qr qr()
const int Ratio=0;
const int N=1e5+5;
const int mod=998244353;
int n,sg[1<<17][17];
string s[17];
namespace Wisadel
{int Wdfs(int now,int las){if(sg[now][las]!=-1) return sg[now][las];fo(i,1,n)if(!(now&(1<<(i-1)))){bool can=0;if(!las) can=1;else{int len=s[las].size();if(s[las][len-1]==s[i][0]) can=1;}if(!can) continue;if(!Wdfs((now|(1<<(i-1))),i)) return sg[now][las]=1;}return sg[now][las]=0;}short main(){// freopen(".in","r",stdin),freopen(".out","w",stdout);memset(sg,-1,sizeof sg);n=qr;fo(i,1,n) cin>>s[i];if(Wdfs(0,0)) printf("First\n");else printf("Second\n");return Ratio;}
}
int main(){return Wisadel::main();}

B. 小孩召开法2

原LibreOJ 6669.Nauuo and Binary Tree‘

又挂在交互题上了。

果然是对树不敏感导致的,询问次数超了。

正解是逐层遍历,通过找最近公共祖先来优化询问的次数。

点击查看代码
#include<bits/stdc++.h>
#define fo(x,y,z) for(register int (x)=(y);(x)<=(z);(x)++)
#define fu(x,y,z) for(register int (x)=(y);(x)>=(z);(x)--)
using namespace std;
typedef long long ll;
#define lx int
inline lx qr()
{char ch=getchar();lx x=0,f=1;for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;for(;ch>='0'&&ch<='9';ch=getchar())x=(x<<3)+(x<<1)+(ch^48);return x*f;
}
#undef lx
#define qr qr()
const int Ratio=0;
const int N=3e3+5;
const int mod=998244353;
int n;
int fx[N],dep[N],in[N],dpt;
vector<int>v[N];
unordered_map<int,int>mp;
namespace Wisadel
{short main(){// freopen(".in","r",stdin),freopen(".out","w",stdout);n=qr;fo(i,2,n){printf("? 1 %d\n",i);fflush(stdout);dep[i]=qr;v[dep[i]].emplace_back(i);if(dep[i]==1) fx[i]=1;dpt=max(dpt,dep[i]);}fo(i,2,dpt)for(int x:v[i]){int lca=1;mp.clear();fo(j,0,v[i-1].size()-1){int y=v[i-1][j];if(j==v[i-1].size()-1) {fx[x]=y;in[y]++;break;}if(in[y]==2) continue;int zc=y;while(zc&&zc!=lca&&!mp[zc]) zc=fx[zc];if(zc!=lca) continue;printf("? %d %d\n",x,y);fflush(stdout);int dis=qr;if(dis==1){fx[x]=y;in[y]++;break;}int lcdp=(dep[x]+dep[y]-dis)/2;zc=y;while(dep[zc]!=lcdp) mp[zc]=1,zc=fx[zc];lca=zc;}}printf("! ");fo(i,2,n) printf("%d ",fx[i]);fflush(stdout);return Ratio;}
}
int main(){return Wisadel::main();}

C. 小孩召开法3

原P6240 好吃的题目

赛时由于又又被 T2 硬控了,这道题也是只打了个最低级的暴力,每次询问做一次 dp。

正解是猫树分治,挺新奇的玩意,(下午光颓了还没细学

D. 小孩召开法4

原[AGC056B] Range Argmax

更抽象的题,不评价了。

这回排的高主要是因为把 T1 做出来了,感觉 T2 T3 都还有提高的空间。

嗯嗯好的所以明天有人愿意跟我组队吗(呜呜
嗯嗯好的所以明天有人愿意跟我组队吗(呜呜
嗯嗯好的所以明天有人愿意跟我组队吗(呜呜
嗯嗯好的所以明天有人愿意跟我组队吗(呜呜
嗯嗯好的所以明天有人愿意跟我组队吗(呜呜

可能想看的

image



完结撒花~

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

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

相关文章

01

mark down学习 标题 字体 hello,world hello,world hello,world hello,world hello,world 引用不公平是好事分割线图片 ![截图](C:\Users\HUAWEI\Pictures\Screenshots\屏幕截图 2024-06-20 142947.png)超链接 点击跳转 列表a b1 2 31 2 3表格姓名 性别 年龄张三 男 1999.…

BUUCTF [RoarCTF2019]polyre

第一次遇到反控制流平坦化的题目,记录一下。 扔进ida,发现main函数中全是while循环,后来上网查阅才发现是控制流平坦化。 反控制流平坦化的教程可以参考这个blog: https://www.cnblogs.com/kelec0ka/p/17909008.html 使用deflat生成recovered文件: python deflat.py -f te…

注释?

成为一个完美的程序员的必备习惯之一——写注释 1.什么是注释: 类似于上学时写的笔记,写给程序员看的备注。注释只是一种提醒,并不会被执行 2.为什么要写注释: 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用…

NewStarCTF 2023 WEEK4|WEB flask disk

一个文件上传一个输入pin码一个文件列表 Flask 调试模式的风险 Flask 框架提供了调试模式,可以通过设置 app.debug = True 或 FLASK_ENV=development 来启用。启用调试模式后,Flask 会在代码更改时自动重载应用,并且会显示详细的错误信息,包括回溯(traceback)。这些功能对…

Living-Dream 系列笔记 第71期

众所周知,换根 dp 是非常套路的。换根真好玩( 换根 dp:当不同节点作为根时,dp 结果不一致,若枚举每个节点作为根,则时间复杂度过高,在此种情形下,可使用 换根 dp 处理相邻两节点间的贡献,从而达到快速换根的效果。使用场景:对于一棵树,寻找以某节点 \(u\) 为根时取得…

公司运营数据分析大屏,非专业者也能轻松上手

在这个数据洪流的时代,企业的每一步发展都深深刻画在数字的轨迹之中。如何精准捕捉这些瞬息万变的信息,将其转化为推动企业前行的智慧力量?答案,或许就藏在一面高效、直观的公司运营数据分析大屏之中。想象一下,当晨光初照,公司的大厅中央,一块巨大的LED屏幕缓缓亮起,它…

vmware 更新时间报错修复

Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Coulsolve host: mirrorlist.centos.org; 未知的错误" 问题原因 出现…

旧笔记本安装Win8.1实录

一个憨批的安装Win8.1纪录昨天发现一台尘封已久的Lenovo ideapad Y550,给它装上了Windows 10 然后第二天系统挂掉了 挂的原因是半夜万恶之源Windows更新开始造孽了 刚好没电 文件全坏了真 解除封印 因为文件已经没了 我索性直接重装系统,降级到Win8.1 真香! 系统是Win8.1 wit…

Phpcms的数据库配置文件是哪个?怎样修改数据库配置信息?

Phpcms的数据库配置文件位置在:caches\configs\database.php 如果只是数据库账号密码等信息变更了,那么找到文件后修改对应的数据库链接信息就可以了! 如果搬家后域名也变更了,那么除了以上两个文件,就需要多修改一下两个配置文件: caches/configs/system.php phpsso_ser…

建立数据库连接时出错”或者“Error establishing a database connection”错误

错误记录: 访问网站时提示“建立数据库连接时出错”或者“Error establishing a database connection”错误。 错误原因: 该问题通常是由于网站程序不能正常连接MySQL数据库导致,需要排查服务器上MySQL数据库服务。 解决方案: 1,首先检查网站数据库状态是否正常 2,核对配…

易优CMS模板标签relevarticle相关文档

[基础用法] 标签:relevarticle描述:通过前3个TAG标签或前3个关键词,检索整站文档标题中含有tag标签或者关键词的相关文档,进行关联。在没有tag标签情况下,就以前3个关键词检索文档标题进行关联。这个标签随着数据量的增加可能会比较影响检索性能。 提示:使用该标签之前,…

Kotlin 运算符详解:算术、赋值、比较与逻辑运算符全解析

## Kotlin 运算符 - **用途**: 对变量和值执行操作。 - **示例**:```kotlinvar x = 100 + 50 // 150``` - **分类**:- **算术**: `+`, `-`, `*`, `/`, `%`, `++`, `--`.- **赋值**: `=`, `+=`, `-=`.- **比较**: `==`, `!=`, `<`, `>`, `<=`, `>=`.- **逻辑**: `&a…