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 ...
随机推荐
- redis数据结构:RedisObject,SkipList,SortedSet
1.RedisObject对象 redis中任何KV都会被封装为RedisObject对象,也叫做Redis对象 2.SkipList 跳表 元素按照升序排列存储,是有序的双向链表 节点可以有多个指针 ...
- 【Docker】05 容器操作
[查看容器 Check Container] 查看所有容器: docker ps 查看所有正在运行的,或者运行过的容器: docker ps -a 查看单个指定的容器完整信息: docker insp ...
- 【Eclipse】入门使用
Eclipse界面简单概述 第一次启动时,工作空间的选择 工作界面的介绍: 选项条 工具栏 工程浏览窗口 工程大纲窗口 控制台输出窗口 在窗口选项中悬浮放在Show View选项中可以查看所有的窗口 ...
- 深度学习需要float64精度吗 —— 为什么各大深度学习框架均不支持float64的深度学习运算呢 —— 商用NVIDIA显卡的float64性能是否多余呢
首先要知道这么几个事实,也是交代一下本文要讨论的问题的背景: 各大深度学习框架均支持float64类型的简单运算,但是均不支持float64的深度学习的运算操作: 作为深度学习运行的加速设备,各种GP ...
- 多节点高性能计算GPU集群的构建
建议参考原文: https://www.volcengine.com/docs/6535/78310 ============================================= 一直都 ...
- Linux磁盘/硬盘测速,dd命令
参考: https://blog.csdn.net/Franciz777/article/details/126779259 ===================================== ...
- 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(4) —— state-of-the-art
<2048>游戏在线试玩地址: https://play2048.co/ 该游戏的解法比较不错的资料为外网的一个讨论帖子: What is the optimal algorithm fo ...
- FlashAttention简介
前置知识 在GPU进行矩阵运算的时候,内部的运算单元具有和CPU类似的存储金字塔. 如果采用经典的Attention的计算方式,需要保存中间变量S和注意力矩阵O,这样子会产生很大的现存占用,并且这些数 ...
- 牛客周赛 Round 6
牛客周赛 Round 6 A-游游的数字圈_牛客周赛 Round 6 (nowcoder.com) 枚举即可 #include <bits/stdc++.h> #define int lo ...
- inline,static inline
https://blog.csdn.net/A_BCDEF_/article/details/89485894 inline 函数被调用时,需要出栈入栈.当函数频繁被调用时,则不断地有函数出栈入栈,会 ...