【CodeForces训练记录】Codeforces Global Round 27

news/2025/1/24 14:00:04/文章来源:https://www.cnblogs.com/longxingx/p/18509454

训练情况

赛后反思

guessforces?结论全靠猜?逆天C题构造+大力分类讨论,这谁想得到啊?

A题

我们看 \((r,c)\) 所在的行,其右边的球左移,对答案的贡献为 \(m-c\),接下来再看下面的 \(n-r\) 行的最左边的球,每个球移动到右上角对答案的贡献为 \(m\),接下来就是剩下的球往左移动,每一行对答案的贡献为 \(m-1\),最后累加即可。

#include <bits/stdc++.h>
#define int long longusing namespace std;void solve(){int n,m,r,c; cin>>n>>m>>r>>c;int ans = 0;ans += m-c;ans += (n-r)*(m);ans += (n-r)*(m-1);cout<<ans<<endl;
}signed main(){int T; cin>>T; while(T--)solve();return 0;
}

B题

规律题,我们打表 \(n \le 9\) 我们发现奇数情况就是 \(n-4\)\(3\) 再加上 \(6366\),偶数情况就是 \(n-2\)\(3\) 再加上 \(66\)

#include <bits/stdc++.h>
#define int long longusing namespace std;void solve(){int x; cin>>x;if(x==1||x==3){cout<<-1<<endl;return;}if(x&1){for(int i = 1;i<=x-4;i++) cout<<3;cout<<6366<<endl;} else {for(int i = 1;i<=x-2;i++) cout<<3;cout<<66<<endl;}
}signed main(){int T; cin>>T; while(T--)solve();return 0;
}

C题

构造+逆天分类讨论,我们还是打表,我们发现奇数情况的构造可以为 \([2,1,3,4,5,6,7,8,9,\cdots]\) 这种,部分偶数情况也是这种,通过更大的数据打表我们发现 \(2\) 的幂都可以这样构造。

所以我们就剩下偶数情况下不是 \(2\) 的幂的构造,我们还是打表观察发现只需要把 \(\le n\) 最大的 \(2^i\) 放在最后面即可。

#include <bits/stdc++.h>
#define int long longusing namespace std;void solve(){int n; cin>>n;vector<int> a(n + 1);if(n&1)	{a[1] = 2;a[2] = 1;for(int i = 3;i<=n;i++) a[i] = i;} else {int x = n;while(x%2==0) x/=2;if(x!=1){int xx = n;int len = 0;while(xx) xx/=2,len++;len--;int tot = 0;int base = pow(2,len)-1;for(int i = 1;i<=n-1;i++){++tot;if(tot==base) ++tot;a[i] = tot;}a[n] = base;} else {a[1] = 2;a[2] = 1;for(int i = 3;i<=n;i++) a[i] = i;}}int cur = 0;for(int i = 1;i<=n;i++){if(i&1) cur=cur&a[i];else cur=cur|a[i];}cout<<cur<<endl;for(int i = 1;i<=n;i++) cout<<a[i]<<" ";cout<<endl;
}signed main(){int T; cin>>T; while(T--)solve();return 0;
}

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

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

相关文章

蚂蚁图团队GraphRAG支持社区摘要——Token相比微软直降50%

蚂蚁图团队在DB-GPT v0.6.0版本中改进了GraphRAG框架,引入图社区摘要和混合检索,大幅降低了图索引构建成本,相比微软方案token开销降低50%。今年5月份,我们在DB-GPT v0.5.6版本发布了蚂蚁首个开源GraphRAG框架,支持了多种知识库索引底座,并在文章《Vector | Graph:蚂蚁首…

通过终端控制屏幕亮度

Ubuntu通过终端控制音量和屏幕亮度 安装DWM界面后,无法通过快捷键和任务栏来控制音量、屏幕亮度以及wifi连接,因此,我们可以通过终端来完成这些任务。 连接Wifi netui会图形化wifi界面,连接后输入密码即可 调整音量 控制亮度 转载自:https://cn.linux-console.net/?p=296…

第六章课后习题6.1、6.3、6.4、6.5和6.7

习题6.1 a图点击查看代码 import networkx as nx import matplotlib.pyplot as plt G = nx.Graph() nodes = [v1, v2, v3, v4, v5, v6] G.add_nodes_from(nodes) edges = [ (v1, v2), (v1, v3), (v1, v4), (v2, v3), (v2, v6), (v3, v4), (v4, v5), (v5, v6) ] …

使用element ui 组件的时候,如果使用两个或多个按钮在同一个单元格内,按钮会竖着排列,但是不能够对齐怎么解决?

打开浏览器的开发者模式(f12打开) 我们发现这个按钮有一个自带的左边距10px<el-table-column width="100" label="操作"> <template #default="scope"> <el-button type="primary" plain style="width: 50…

USB设备远程唤醒RemoteWakeUp

USB设备的Remote Wakeup是可选的,其功能用于远程唤醒待机状态下的主机。USB设备通过配置描述符bmAttributes字段的D5标识其是否支持远程唤醒。支持远程唤醒的USB设备必须支持USB的标准请求CLEAR_FEATURE和SET_FEATURE。USB主机通过SET_FEATURE(DEVICE_REMOTE_WAKEUP)请求使用…

第五章课后习题5.4、5.5和5.7

习题5.4点击查看代码 import numpy as np import math from scipy.optimize import minimize,Bounds def func(x):return sum(math.sqrt(x[i]) for i in range(100)) def con(x):return 1000-np.sum(x[i]*(101-i+1) for i in range(100)) con1={type:ineq,fun: lambda x: 10-x[…

第四章课后习题4.3和4.4

习题4.3点击查看代码 import matplotlib.pyplot as plt import numpy as np import cvxpy as cpx=cp.Variable(6,pos=True) obj=cp.Minimize(x[5]) a1=np.array([0.025, 0.015, 0.055, 0.026]) a2=np.array([0.05, 0.27, 0.19, 0.185, 0.185]) a3=np.array([1, 1.01, 1.02, 1.0…

使用Github Action 进行CI-CD

原文地址:https://www.x1uc.top/blog/github-action-use 使用Github Action 进行CI-CD我的博客建立起来还没有多久,所以时不时的会加一些功能。但是每一次加完功能之后,部署的步骤总是非常非常的麻烦。 后端步骤:maven打包->jar包放到服务器上->停止java容器-> 删…

Codeforces Round 981 (Div. 3)

Codeforces Round 981 (Div. 3) 总结 A 手推一下,发现位置变化为 \(-1,2,-3,4, \dots\),所以只需要看 \(n\) 的奇偶性即可。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <…

第三章课后习题3.2和3.3

习题3.2点击查看代码 def X(n): # 差分方程的解 return 2 * (-1)**(n + 1) n_values = [0, 1, 2, 3, 4, 5]#根据需要自行调整 for n in n_values: print(f"X({n}) = {X(n)}") print("学号:3001")习题3.3点击查看代码 import numpy as np from …

Python pyinstaller类库使用学习总结

实践环境 python3 .9.13 pyinstaller-6.10.0-py3-none-manylinux2014_x86_64.whl CentOS 7.9 win11 实践操作 生成Linux版可执行文件 安装Python # yum install -y gcc zlib* openssl-devel libffi-devel # wget https://www.python.org/ftp/python/3.6.13/Python-3.6.13.tgz #…

c语言中实现4行3列矩阵和3行4列矩阵的运算

001、[root@PC1 test]# ls test.c [root@PC1 test]# cat test.c ## 测试c程序 #include <stdio.h>int main(void) {int i,j,k;int v1[4][3];int v2[3][4];int v3[4][4] = {{}, {}, {}, {}}; //4行3列矩阵与3行4列矩阵的乘积是…