AGC003 题解

阿巴阿巴

推荐这些文章:

CR722 题解

阿巴阿巴

...

2021.1.21 模拟赛题解

T1. star
给出 \(k,m\),求方程 \(k^x=1\pmod{m}\) 的 \(x\) 的最小正整数解。
若无解,输出 No Solution。
多测,\(1 \leq T \leq 10^3,2 \leq m,k\leq 10^9\)。
sol
无解:\(\gcd(k,m) \ne 1\)。
套个 BSGS \(\mathcal O(\sqrt{n})\) 求即可。
#include <bits/stdc++.h>

using namespace std;

#define int long long

#define pii pair<int, int&g...

联合省选2022题解

Day1
T1 预处理器 preprocessor
link
题意
模拟 C++ 的 #define 的展开。具体细节参见题面。
数据范围:行数 \(n\le 100\),每行长度 \(\le 100\),答案的每行长度 \(len \le 1000\)。
solution
直接大力模拟即可通过官方数据,不过如果常数写的丑的话在 hack 数据上可能会 T。
暴力模拟的化复杂度是 \(O(n^3len)\) 的,不过常数很小。因为可能需要 \(O(n^2)\) 的复杂度来确定答案串的一位。
如果一直不能确定答案的一位,一定是存在下面这种情况
#define A B
#define B C
#...

Acwing1204. 错误票据 题解

题目描述
某涉密单位下发了某种票据,并要在年终全部收回。
每张票据有唯一的 ID 号。
全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。
因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造成了某个 ID 断号,另外一个 ID 重号。
你的任务是通过编程,找出断号的 ID 和重号的 ID。
假设断号不可能发生在最大和最小号。
输入格式
第一行包含整数\(N\),表示后面共有 \(N\) 行数据。
接下来 \(N\) 行,每行包含空格分开的若干个(不大于100个)正整数(不大于100000),每个整数代表一个 ID 号。
输出格式
要求程序输出1行,含两个整数 \(m...

P1384 幸运数与排列 题解

link
先看题。
0x00 思路
「一个数是幸运数当且仅当这个数仅由 \(4\) 和 \(7\) 构成,比如 \(47\),\(744\),\(4747\)。」
「询问在\(1\) 到 \(n\) 的全排列中字典序第 \(k\) 小的排列中,有多少个幸运数在排列中的位置编号也是幸运数。」
我们注意到,在完成对幸运数记数的问题前,我们首先对这个数列有一个逆康拓展开,所以这个问题可以分成两步走。
0x01 \(Step\ 1\):逆康拓展开
很明显,逆康拓展开就是个板子,所以直接开开森森打代码就好了。
但是,逆康拓展开需要知道 \(n!\),而数据范围告诉我们:\(1 \leq n,k\le ...

蓝桥杯基础技能树题解一(1~5)

1001-地、颜色、魔法
解:
在n*m的矩形中有两种点','和'#',分别表示没用标记和有标记。被标记点完全包围的点(即从该点走到边界一定要经过至少一个标记点)同样视为被标记点。统计所有“标记点”的数量。
很基础的图遍历,用深度优先或者广度优先去遍历整张图都可以。由题意可以知道,一个点如果在矩阵的边界,那么它一定不是标记点。所以枚举每一个矩阵的边界点,若边界点是'.',则以该点为起点遍历整张图并在原图中染色。我们将可以走到的点重新标记为‘@’,则剩下来的‘#’和'.'就都是标记点了。最后用循环遍历整张图完成操作。
对于存图,由于1<=n,m<=1e6,所以直接开二维数组mp[m...

LeetCode第 281 场周赛题解

第 281 场周赛 - 力扣
T1
题目描述:给你一个正整数 \(num\) ,请你统计并返回 小于或等于 \(num\) 且各位数字之和为 偶数 的正整数的数目。
数据范围:\(1 \leq num \leq 1000\)
思路:数据范围很小,暴力枚举即可。
时间复杂度:\(O(nlog_{10}n)\)
参考代码:
class Solution {
public:
int countEven(int num) {
int res = 0;
for(int i = 2 ; i <= num ; ++i){
int j =...

【GDOI2022PJD1T2 数列游戏】题解

D1T2 数列游戏
题目
有一个长度为 \(n\) 的序列 \(a_1, \dots , a_n\)。
如果序列的长度大于 1,那么你就能进行操作,每次操作可以选择两个相邻的数 \(a_i, ai+1\) 合并,得到一个新的数 \(a_i\) ⊕ \(a_{i+1}\)(“⊕”表示异或),每次操作都会使序列的长度减少 1。例如对将序列 \([8, 3, 5, 7, 1]\) 中的第 2个和第 3 个数进行合并,会得到新序列 \([8, 6, 7, 1]\),并可以进行下一轮操作。
你需要进行若干次操作(可能是 0 次),使得最终序列任意子区间的异或和不为 0。子区间的定义为连续的一段数 $ ...

【GDOI2022PJD1T4 小学生计数题】题解

D1T4 小学生计数题
题目
作为 GDOI 的组题人,小 Y 需要整理手中已有的题目,考虑它们的难度以及所考察的知识点,然后将它们组成数套题目。
小 Y 希望先能组出第一套题目,为了整套题目具有良好的区分度,在一套题目中:

所有题目的难度需要能排成等差数列;(也就是说,若将所有题目按难度从小到大排序,那么每相邻两题的难度的差相等,这个差叫做公差)
每道题目的难度都是公差的倍数,公差不为 0;
需要有不少于 \(L\) 道题,不多于 \(R\) 道题。

现在小 Y 手里已经有了 \(m\) 道题目,其中难度为 \(a_i\) 的题有 \(c_i\) 道 \((1 ≤ i ≤ n)\)。
...

「NOIP2011」计算系数 题解

「NOIP2011」计算系数
题意
给定一个多项式 \((ax + by)^k\),求多项式展开后\(x^n y^m\)项的系数。

二项式定理科普
二项式定理
完了,就是板子题。
显然这个多项式还要乘上一个 \(C^n_k\)
Code
#include <bits/stdc++.h>

using i64 = long long;

inline i64 read(){
i64 x = 0, f = 1;char ch = getchar();
while (ch < '0' || ch > '9') f = ch == '-' ? -1 : 1, ch =...

文章标题:AGC003 题解
文章链接:https://www.dianjilingqu.com/4421.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>