SXYZ-7.4训练赛
今天这场比赛把人心态考崩溃了,只考100分钟,四道思考和算法题,旁边大佬开局5分钟秒T1,我30分钟打了个T1暴力。┭┮﹏┭┮,呜呜~。T2,T4根据题意暴力。T3人手模拟了一下,完全没有任何思路,放弃。(好在没有犯低级错误)。

T1 A
最大公约数
被第一题切掉了,考场上先现推 gcd,然后手打 gcd,记得c++有个函数(但没记起来)是 __gcd(),没有正解思路,旁边大佬已经切了,我灵光一线——DP,然而写出来样例一测,假的,这道题无法动规,子问题会影响后续答案,于是。。。。暴力喜提50分。
暴力思路:依次计算删掉每一个数的最大公约数,时间复杂度 \(O(n^2)\)。
然而正解其实也是这个思路,预先处理 gcd 的前缀和和后缀和,然后枚举删掉每一个数。
AC代码:
#include<bits/stdc++.h>
using namespace std;
#define N 200000
int n,a[N],q[N],h[N],ans=0;
int gcd(int a,int b){
if(b>a) swap(a,b);
if(b==0) return a;
else return gcd(b,a%b);
}
int main(){
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++){
q[i]=gcd(q[i-1],a[i]);
}
for(int i=n;i>=1;i--){
h[i]=gcd(h[i+1],a[i]);
}
for(int i=1;i<=n;i++){
ans=max(ans,gcd(q[i-1],h[i+1]));
}
printf("%d",ans);
return 0;
}
T2 B
排序
这道题思想确实很妙,开始没有想到。
考虑到正解,每一个数 i 最后都将移动到位置 i,所以我们暴力将每一个数移到正确位置,因为每一个数必须移到正确位置,交换方法是唯一的,所以这就是最优解。
AC代码:
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+5;
vector<int> v;
bool usd[N];
int n,a[N],ip[N];
signed main(){
freopen("b.in","r",stdin);
freopen("b.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]),ip[a[i]]=i;
for(int i=1;i<=n;i++){
if(ip[i]==i)continue;
while(ip[i]!=i){
if(usd[ip[i]-1]){
cout<<"-1\n";
return 0;
}
usd[ip[i]-1]=true;
v.push_back(ip[i]-1);
ip[i]--;
int l=a[ip[i]];
ip[l]++;
swap(a[ip[i]],a[ip[l]]);
}
}
if(v.size()!=n-1)cout<<"-1\n";
else for(auto i:v)cout<<i<<"\n";
}
T3 C
不会,真不会
T4 D
排序
还是不会,真不会,
直接上代码:
#include <cstdio>
int main() {
freopen("d.in","r",stdin);
freopen("d.out","w",stdout);
int n;
scanf("%d", &n);
printf("%d\n", n * n);
for (int i = n - 1; i>=0; --i) {
for (int j = 0; j < n; ++j) {
printf("%d\n", i);
}
}
}
刚刚去跟同学讲了一下这道题,自己又增添了不少理解,现在应该是完全理解了吧??
思想有点多,这里直接复制了,题解来源。
首先你用脑子想一下,你就会知道,如果一直盯着一个位置换,那他最后会换成0 。因为位置固定,你要交换另一个位置所需要的值也是固定的,而他被换走了,就再也换不到了。
然后你在0的前面一直操作,他最后也会变成0,而且他一定会在变成1后变成0,因为要和后一位交换。
于是你从前往后一直这样操作,最后就可以将0和1换到最前面,而且在换第0位的时候,如果你的值是 x,那他一定会被换到第 x 位。所以后面也是有序的。
然后你就做完了。
SXYZ-7.4训练赛的更多相关文章
- 10.0.0.55_12-16训练赛部分writeup
0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...
- Contest1592 - 2018-2019赛季多校联合新生训练赛第二场(部分题解)
Contest1592 - 2018-2019赛季多校联合新生训练赛第二场 D 10248 修建高楼(模拟优化) H 10252 组装玩具(贪心+二分) D 传送门 题干 题目描述 C 市有一条东西走 ...
- Contest1585 - 2018-2019赛季多校联合新生训练赛第一场(部分题解)
Contest1585 - 2018-2019赛季多校联合新生训练赛第一场 C 10187 查找特定的合数 D 10188 传话游戏 H 10192 扫雷游戏 C 传送门 题干: 题目描述 自然数中除 ...
- 7.30 正睿暑期集训营 A班训练赛
目录 2018.7.30 正睿暑期集训营 A班训练赛 T1 A.蔡老板分果子(Hash) T2 B.蔡老板送外卖(并查集 最小生成树) T3 C.蔡老板学数学(DP NTT) 考试代码 T2 T3 2 ...
- HDU6578 2019HDU多校训练赛第一场 1001 (dp)
HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...
- HDU6579 2019HDU多校训练赛第一场1002 (线性基)
HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...
- 2018牛客网暑假ACM多校训练赛(第三场)I Expected Size of Random Convex Hull 计算几何,凸包,其他
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-I.html 题目传送门 - 2018牛客多校赛第三场 I ...
- 2018牛客网暑假ACM多校训练赛(第三场)G Coloring Tree 计数,bfs
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-G.html 题目传送门 - 2018牛客多校赛第三场 G ...
- 2018牛客网暑假ACM多校训练赛(第三场)D Encrypted String Matching 多项式 FFT
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-D.html 题目传送门 - 2018牛客多校赛第三场 D ...
- 2018牛客网暑假ACM多校训练赛(第二场)E tree 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round2-E.html 题目传送门 - 2018牛客多校赛第二场 E ...
随机推荐
- 关于failed to load resource 问题的处理
问题: c++做插件,写了一个native class,继承于ue的类ActorComponent,而蓝图里也继承了这个c++ class,都在插件里,每次打开的时候就有这个错误: 之前的解决办法,复 ...
- 如何在mysql中删除重复数据
#分组去重法 讲重复的列进行分组 之后用min(id) #取其中最小的保留,其余的删除 -- 步骤 1: 创建临时表,保存每组最小的ID CREATE TEMPORARY TABLE tmp_keep ...
- 【Java】将枚举类转换为Redis字典缓存
字典翻译框架实现看这篇: https://www.cnblogs.com/mindzone/p/16890632.html 枚举的特性 首先是枚举的一些特性: 1.枚举实例直接在枚举类中声明 2.重载 ...
- 【MySQL】拆分经纬度字段
数据结构: 表中一字段存储经度和纬度: +---------------------------+ | INSTALL_LOLA_NUM | +---------------------------+ ...
- 【RabbitMQ】03 订阅模式
Pub / Sub 订阅模式 特点是 一条消息可以给多个消费者接收了 首先创建订阅模式生产者发生一些代码变动: package cn.dzz.pubSub; import com.rabbitmq.c ...
- 【Spring-Security】Re04 Matchers配置规则API
一.使用antMatchers放行静态资源: package cn.zeal4j.configuration; import cn.zeal4j.handler.FarsAuthenticationF ...
- Webots —— 好用的人形机器人仿真平台
相关: https://cyberbotics.com/doc/guide/tutorials 下载地址: https://github.com/cyberbotics/webots/releases ...
- 2023年 IJCAI 审稿模板
================================================== ================================================= ...
- 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(5) —— 第一个用于解决2048游戏的Reinforcement learning方法——《Temporal Difference Learning of N-Tuple Networks for the Game 2048》
<2048>游戏在线试玩地址: https://play2048.co/ 如何解决<2048>游戏源于外网的一个讨论帖子,而这个帖子则是讨论如何解决该游戏的最早开始,可谓是&q ...
- 运维 + AI,你得先搞懂这些
很感谢夜莺提供如此优质的平台能和行业内顶尖技术大佬做面对面的交流,在这个会议中又学习到了很多有趣有深度的内容,给我在未来探索的道路上提供了一些新的指引方向.同时感谢夜莺社区的邀请,在此再做一次关于AI ...