《如 何 速 通 一 套 题》4.0

news/2024/9/25 15:54:30

A sprial

找规律。

Celes1

直接做。

#include <bits/stdc++.h>
#define int long long
using namespace std;int t, n;int sqrtll(int n) {int l = 1, r = 1000000, ans = 0;for(; l <= r; ) {int mid = (l + r) >> 1;if(mid * mid >= n) {ans = mid, r = mid - 1;}else {l = mid + 1;}}return ans;
}signed main() {freopen("spiral.in", "r", stdin);freopen("spiral.out", "w", stdout);for(cin >> t; t--; ) {cin >> n;int i = sqrtll(n);int tmp = n - (i - 1) * (i - 1);if((i & 1)) {if(tmp <= i) {cout << i << ' ' << tmp << '\n';}else {cout << 2 * i - tmp << ' ' << i << '\n';}}else {if(tmp <= i) {cout << tmp << ' ' << i << '\n';}else {cout << i << ' ' << 2 * i - tmp << '\n';}}}return 0;
}

B write

C curve

\[\because \frac{x}{3} \le \lfloor \frac{x}{2} \rfloor \le \frac{x}{2} \]

\[\therefore \frac{x}{3^{r - l + 1}} + \sum \limits_{i = l}^r \frac{a_i}{3^{r - i + 1}} \le \lfloor \frac{x}{2^{r - l + 1}} + \sum \limits_{i = l}^r \frac{a_i}{2^{r - i + 1}} \rfloor \le \frac{x}{2^{r - l + 1}} + \sum \limits_{i = l}^r \frac{a_i}{2^{r - i + 1}} \]

\[\because a_i, x \le 10^9 \]

\[\therefore \text{当 } r - i + 1 \ge 30 \ge \log_2 10^9, \frac{x}{3^{r - i + 1}} \to 0, \frac{x}{2^{r - i + 1}} \to 0, \]

\[\therefore \lfloor \frac{x}{2^{r - i + 1}} \rfloor \to 0 \]

直接暴力。

#include <bits/stdc++.h>
using namespace std;int n, arr[200020], q, x, l, r;int main() {freopen("curve.in", "r", stdin);freopen("curve.out", "w", stdout);cin >> n;for(int i = 1; i <= n; i++) {cin >> arr[i];}for(cin >> q; q--; ) {cin >> x >> l >> r;l = max(l, r - 50);for(int i = l; i <= r; i++) {x = (x + arr[i]) / 2;}cout << x << '\n';}return 0;
}

D coin

乱搞

我们充分发挥人类智慧,根据数学直觉,不能凑出的数必然在 \(2.69 \times 10^7\) 以上。

直接对于 \(2.69 \times 10^7\) 下面的数暴力 dp,上面的都凑的出来。

/*** @brief "According" to my direst sence,* @brief the maximum number which "will output -1" is not greater than 2.69*(10^7).
*/
#include <bits/stdc++.h>
#define int long long
using namespace std;const int kCstf = 2.69e7;int n, l, arr[22], dp[kCstf + 20];signed main() {freopen("coin.in", "r", stdin);freopen("coin.out", "w", stdout);cin >> n >> l;for(int i = 1; i <= n; i++) {cin >> arr[i];}if(l <= kCstf) {dp[0] = 1;for(int i = 1; i <= n; i++) {for(int j = arr[i]; j <= l; j++) {dp[j] |= dp[j - arr[i]];}}int ans = 0;for(int i = 1; i <= l; i++) {ans += dp[i];}cout << ans << '\n';}else {dp[0] = 1;for(int i = 1; i <= n; i++) {for(int j = arr[i]; j <= kCstf; j++) {dp[j] |= dp[j - arr[i]];}}int ans = 0;for(int i = 1; i <= kCstf; i++) {ans += dp[i];}cout << ans + (l - kCstf) << '\n';}return 0;
}
正解

同余最短路,模数是最大值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

自定义表格样式

HTML:<div class="table-container"><table style="width: 90%; margin-left: 5%"><tr class="table-title"><th style="width: 33%">科室名称</th><th style="width: 33%">当日登录次…

Bash脚本基本语法

一、Bash脚本以及相关介绍Bash脚本是一种在Unix或Linux操作系统中广泛使用的脚本语言,它允许用户编写一系列命令,这些命令将被Bash(Bourne-Again SHell)解释器执行。Bash脚本可以用于自动化各种任务,比如文件管理、程序执行、系统维护等。 编写Bash脚本的基本步骤包括:创…

【vulhub】Discuz-任意文件删除

【vulhub】Discuz-任意文件删除 0x00漏洞介绍 通过配置个人信息的属性值,导致文件删除。 影响版本Discuz <= 3.40x01 搭建环境 数据库服务器填写db(必须db,不然安装失败),数据库名为discuz,数据库账号密码均为root,管理员密码任意。填写联系方式页面直接点击跳过本步…

Day4 与用户交互 + 格式化运算符 + 基本运算符

今天首先对昨天学的进行了复习,由这个复习可以看出昨天的我是多么的水*-*,今天的话倒是学的挺充实的,因为没有像上节课的jupyter notebook那样的东西(这节课看下来还是挺牛的,但也没到非用不可的时候,继续放着吧)。今天主要学习了三大部分,与用户的交互,格式化占位符,…

ACCESS 关于MSCOMCT2.OCX和MSCOMCTL.OCX报错的解决方案

我在ACCESS中添加了TreeView插件,结果电脑A上打开没问题,电脑B打开时就报MSCOMCT2.OCX和MSCOMCTL.OCX有错. B电脑之前是可以正常使用的,但是加了TreeView插件之后报错,说明是插件引用的问题. 在网上下载了这两个文件,复制到C:\WINDOWS\SYSTEM32目录下. 重新注册了这两个文件: 以…

74hc595

74htc595 功能 8位串行输入 8位串行或并行输出 带3态输出的存储 寄存器带直接清零的移位寄存器100 MHZ(典型) 移出频率 ESD保护H BM ELAJESD22-A114-A超过2000VMM EIAJESD23-A115-A超过200 V说明 74HC/HCT595是高速硅栅CMOS器件, 与低功率肖特基TTLLSTTL引脚兼容。 它们是根…

直接调拨单的酶活总量换算不正确

物料单位换算中的换算类型需要设置为浮动, 原来的是固定.

9月25日小学加减法的编程

根据问题要求来写程序,程序编写难度不高,交互更加友好 需要关注几个点 1加上目前是第几道题的说明 2如果输入错误要有提示第一第几道题是根据循坏的i来决定的但是要注意有些进入了循环但是没有进行答题的要写上i--; 第二要进行hasNextInt()的判断,防止错误输入导致的程序停…