第十三届山东省ICPC

vp链接:https://codeforces.com/gym/104417

A. Orders

根据题意模拟,分别按照 a,b 排序,排序后再判断该订单是否能完成。

#include <bits/stdc++.h>
using namespace std;#define int long longconst int N = 105;
int n, k;
struct node { int a, b; } p[N];inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}bool cmp(node x, node y) {if (x.a == y.a) return x.b < y.b;return x.a < y.a;
}void solve() {n = read(), k = read();for (int i = 1; i <= n; i++) p[i].a = read(), p[i].b = read();sort(p + 1, p + n + 1, cmp);int res = 0, lst = 0;for (int i = 1; i <= n; i++) {res += (p[i].a - lst) * k;if (res < p[i].b) {puts("No");return;}res -= p[i].b, lst = p[i].a;}puts("Yes");
}signed main() {int t = read();while (t--) {solve();}return 0;
}

E. Math Problem

很容易发现先进行操作一再进行操作二是无效的,所以只有两种操作方式:

  1. 一直进行操作一
  2. 先进行操作而再进行操作一
#include <bits/stdc++.h>
using namespace std;#define int long longint n, k, m, a, b;void solve() {if (k == 1) {if (n % m == 0) cout << 0 << '\n';else cout << -1 << '\n';return;}int ans = LLONG_MAX;for (int i = 0; ;i++, n /= k) {if (n == 0) {ans = min(ans, i * b);break;}__int128_t l = n, r = n;int sum = b * i;while (r / m == l / m && l % m != 0) {l = l * k;r = r * k + k - 1;sum += a;}ans = min(ans, sum);}cout << ans << '\n';
}signed main() {ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int t;cin >> t;while (t--) {cin >> n >> k >> m >> a >> b;solve();}return 0;
}

G. Matching

i - j = a_i - a_j 等价于 i - a_i = j - a_j,不妨设 b_i = i - a_i,所有有边连通的点 b_i 一定相同。从无向图中选出一些边,使得任意两条边都没有公共节点,等价于成对地选出 b 值相同的点。由于连接 i 和 j 的节点边权为 a_i + a_j,要最大边权和,其实等价于求成对选出的点的最大点权和。

可以先按照 b_i 进行排序,b_i 相同则按照 a_i 从小到大进行排序。对于 b 相同的节点,从前往后成对的选出点权和大于 0 的点,记录点权和。

#include <bits/stdc++.h>
using namespace std;#define int long longconst int N = 1e5 + 10;
int n;
struct node { int a, b, id; } p[N];inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}bool cmp(node x, node y) {if (x.b == y.b) return x.a > y.a;return x.b < y.b;
}signed main() {int t = read();while (t--) {n = read();for (int i = 1; i <= n; i++) {p[i].a = read();p[i].id = i, p[i].b = i - p[i].a;}sort(p + 1, p + n + 1, cmp);int ans = 0LL;for (int i = 1; i <= n; i++) {if (i + 1 <= n && p[i].b == p[i + 1].b) {if (p[i].a + p[i + 1].a > 0) {ans += p[i].a + p[i + 1].a;i++;}}}printf("%lld\n", ans);}return 0;
}

L. Puzzle: Sashigane

构造题。围绕黑色方格利用两条边长度相等的 L 型进行覆盖,可以使得黑色方格以及白色方格覆盖的区域有 1 x 1 变成 2 x 2,2 x 2 变成 3 x 3,......,最后变成 n x n。

每一次利用 L 型进行覆盖的时候,只需要在原有覆盖区域外四角的任意一角作为 L 型的拐点即可。

#include <bits/stdc++.h>
using namespace std;const int N = 1e3 + 5;
int n;
struct node { int r, c, h, w; } ans[N];inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}bool check(int x, int y) {if (x >= 1 && x <= n && y >= 1 && y <= n) return true;return false;
}void dfs(int x, int y, int len) {if (len > n) return;int l = len - 1;if (check(x - l, y + l)) {ans[l] = (node){x - l, y + l, l, -l};dfs(x, y, len + 1);return;}if (check(x - l, y - 1)) {ans[l] = (node){x - l, y - 1, l, l};dfs(x, y - 1, len + 1);return;}if (check(x + 1, y + l)) {ans[l] = (node){x + 1, y + l, -l, -l};dfs(x + 1, y, len + 1);return;}if (check(x + 1, y - 1)) {ans[l] = (node){x + 1, y - 1, -l, l};dfs(x + 1, y - 1, len + 1);return;}
}int main() {n = read(); int x = read(), y = read();dfs(x, y, 2);printf("Yes\n%d\n", n - 1);for (int i = 1; i < n; i++) printf("%d %d %d %d\n", ans[i].r, ans[i].c, ans[i].h, ans[i].w);return 0;
}

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

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

相关文章

pikachu文件包含漏洞靶场

本地文件包含 1、先随意进行提交 可以得出是GET传参 可以在filename参数进行文件包含 2、准备一个2.jpg文件 内容为<?php phpinfo();?> 3、上传2.jpg文件 4、访问文件保存的路径uploads/2.jpg 5、将我们上传的文件包含进来 使用../返回上级目录 来进行包含木马文件 …

备战秋招60天算法挑战,Day33

题目链接&#xff1a; https://leetcode.cn/problems/longest-increasing-subsequence/ 视频题解&#xff1a; https://www.bilibili.com/video/BV1RRvheFEog/ LeetCode 300. 最长递增子序列 题目描述 给你一个整数数组nums &#xff0c;找到其中最长严格递增子序列的长度。 …

自幂数判断c++

题目描述 样例输入 3 152 111 153样例输出 F F T 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; long long m,a; int main(){cin>>m;for(int i1;i<m;i){cin>>a;long long ta,n[10],cc0,s0;while(t!0){//求位数与拆位n[cc]t%10;tt/…

多线程篇(并发相关类- 原子操作类)(持续更新迭代)

目录 前言 一、原子变量操作类&#xff08;AtomicLong为例&#xff09; 1. 前言 2. 实例 二、JDK 8新增的原子操作类LongAdder 三、LongAccumulator类原理探究 前言 JUC包提供了一系列的原子性操作类&#xff0c;这些类都是使用非阻塞算法CAS实现的&#xff0c;相比使用…

dubbo 服务消费原理分析之应用级服务发现

文章目录 前言一、MigrationRuleListener1、迁移状态模型2、Provider 端升级3、Consumer 端升级4、服务消费选址5、MigrationRuleListener.onRefer6、MigrationRuleHandler.doMigrate6、MigrationRuleHandler.refreshInvoker7、MigrationClusterInvoker.migrateToApplicationFi…

初识命名空间

1.创建两个命名空间 ip netns add host1 ip netns add host2 2. 查看命名空间 ip netns ls 3 、 创建veth ip -netns host1 link add veth0 type veth peer name host1-peer 4、 查看命名空间接口 ip -netns host1 address 5、 把host1-peer移动到host2命名空间 ip -ne…

ctfshow-nodejs

什么是nodejs Node.js 是一个基于 Chrome V8 引擎的 Javascript 运行环境。可以说nodejs是一个运行环境&#xff0c;或者说是一个 JS 语言解释器 Nodejs 是基于 Chrome 的 V8 引擎开发的一个 C 程序&#xff0c;目的是提供一个 JS 的运行环境。最早 Nodejs 主要是安装在服务器…

SAP B1 基础实操 - 用户定义字段 (UDF)

目录 一、功能介绍 1. 使用场景 2. 操作逻辑 3. 常用定义部分 3.1 主数据 3.2 营销单据 4. 字段设置表单 4.1 字段基础信息 4.2 不同类详细设置 4.3 默认值/必填 二、案例 1 要求 2 操作步骤 一、功能介绍 1. 使用场景 在实施过程中&#xff0c;经常会碰见用户需…

Jmeter使用时小技巧添加“泊松随机定时器“模拟用户思考时间

1、模拟用户思考时间&#xff0c;添加"泊松随机定时器"

SQL Server导入导出

SQL Server导入导出 导出导入 这里已经安装好了SQL Server&#xff0c;也已经创建了数据库和表。现在想导出来给别人使用&#xff0c;所以需要导入导出功能。环境&#xff1a;SQL Server 2012 SP4 如果没有安装&#xff0c;可以查看安装教程&#xff1a; Microsoft SQL Server …

装WebVideoCreator记录

背景&#xff0c;需要在docker容器内配置WebVideoCreator环境&#xff0c;配置npm、node.js WebVideoCreator地址&#xff1a;https://github.com/Vinlic/WebVideoCreator 配置环境&#xff0c;使用这个教程&#xff1a; linux下安装node和npm_linux离线安装npm-CSDN博客 1…

JavaWeb - Mybatis - 基础操作

删除Delete 接口方法&#xff1a; Mapper public interface EmpMapper { //Delete("delete from emp where id 17") //public void delete(); //以上delete操作的SQL语句中的id值写成固定的17&#xff0c;就表示只能删除id17的用户数据 //SQL语句中的id值不能写成…

[数据集][目标检测]西红柿成熟度检测数据集VOC+YOLO格式3241张5类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3241 标注数量(xml文件个数)&#xff1a;3241 标注数量(txt文件个数)&#xff1a;3241 标注…

GitHub精选|8 个强大工具,助力你的开发和探究工作

本文精选了8个来自 GitHub 的优秀项目&#xff0c;涵盖了 低代码、报表工具、Web 开发、云原生、通知管理、构建系统、生物计算、位置追踪、API 规范和依赖更新等方面&#xff0c;为开发者和研究人员提供了丰富的资源和灵感。 目录 1.防弹 React&#xff1a;构建强大的 Web 应…

第十周:机器学习笔记

第十周机器学习周报 摘要Abstract机器学习——self-attention&#xff08;注意力机制&#xff09;1. 为什么要用self-attention2. self-attention 工作原理2.1 求α的两种方式2.2 attention-score&#xff08;关联程度&#xff09; Pytorch学习1. 损失函数代码实战1.1 L1loss&a…

电路分析 ---- 加法器

1 同相加法器 分析过程 虚短&#xff1a; u u − R G R G R F u O u_{}u_{-}\cfrac{R_{G}}{R_{G}R_{F}}u_{O} u​u−​RG​RF​RG​​uO​ i 1 u I 1 − u R 1 i_{1}\cfrac{u_{I1}-u_{}}{R_{1}} i1​R1​uI1​−u​​&#xff1b; i 2 u I 2 − u R 2 i_{2}\cfrac{u_{…

如何判断小程序是运行在“企业微信”中的还是运行在“微信”中的?

如何判断小程序是运行在“企业微信”中的还是运行在“微信”中的&#xff1f; 目录 如何判断小程序是运行在“企业微信”中的还是运行在“微信”中的&#xff1f; 一、官方开发文档 1.1、“微信小程序”开发文档的说明 1.2、“企业微信小程序”开发文档的说明 1.3、在企业…

无线信道中ph和ph^2的场景

使用 p h ph ph的情况&#xff1a; Rayleigh 分布的随机变量可以通过两个独立且相同分布的零均值、高斯分布的随机变量表示。设两个高斯随机变量为 X ∼ N ( 0 , σ 2 ) X \sim \mathcal{N}(0, \sigma^2) X∼N(0,σ2)和 Y ∼ N ( 0 , σ 2 ) Y \sim \mathcal{N}(0, \sigma^2)…

终端协会发布《移动互联网应用程序(App)自动续费测评规范》

随着移动互联网的快速发展&#xff0c;App自动续费服务已成为许多应用的标配&#xff0c;但同时也引发了不少消费者的投诉和不满。为了规范这一市场行为&#xff0c;保护消费者的合法权益&#xff0c;电信终端协会&#xff08;TAF&#xff09;发布了《移动互联网应用程序&#…

代码随想录 刷题记录-28 图论 (5)最短路径

一、dijkstra&#xff08;朴素版&#xff09;精讲 47. 参加科学大会 思路 本题就是求最短路&#xff0c;最短路是图论中的经典问题即&#xff1a;给出一个有向图&#xff0c;一个起点&#xff0c;一个终点&#xff0c;问起点到终点的最短路径。 接下来讲解最短路算法中的 d…