首页 > TAG信息列表 > LLD

记刷题过程中发现的C++与C的差异

前言 上大学了,学 c。 标题嫖自@快乐永恒 正题 01 #include <stdio.h> int main() { long long a, b; scanf("%lld %lld", &a, &b); printf("%lld %lld %lld %lld %lld", a + b, a - b, a * b, a / b, a % b); return 0; } #include <cstdio>

转圈游戏

https://www.luogu.com.cn/problem/P1965 ans=(m*1ek+x)%n 求1ek用快速幂求,求解的过程每次乘法运算都需要对n取模 #include <bits/stdc++.h> using namespace std; #define N 1e5 #define INF 2e9 #define MAX 10000000 #define ll long long ll n, m, k, x; ll quick_pow(ll a

AtCoder Beginner Contest 266 D(DP)

…… 题面 Takahashi 要抓 Snuke。好狠心的 Takahashi 呀(bushi Snuke 有 5 个洞(,在 $ 0m, 1m, 2m, 3m, 4m $ 处。 Takahashi 开始在 $ 0m $ 处,每秒他能走 $ 1m $。 第 $ i $ 条 Snuke 会在第 $ T_i $ 秒出现在 $ X_i m $ 的洞,还有一个数值 $ A_i $。 求 Takahashi 能抓住的 Snuke

【毒瘤】儒略日 做题笔记

众所周知: P7075 [CSP-S2020] 儒略日 是一道十分 \(EX\) 的大模拟 作为 \(CSP-S\) \(2020\) 的 \(T1\) 远难于 \(T2\)。 更是有巨佬将过这题的记录放在主页作为自豪的象征。 以前我也略有耳闻,但都没仔细看过题。 于是,今天,我下定决心,要切掉它!(还不是因为算法废了只能练模拟qwq) 于是,\(

P8443 题解

前言 题目传送门! 更好的阅读体验? 普及组月赛第一题。别的题解语言有点高深,我补篇题解。 思路 显然,\(\lfloor \dfrac{l}{x}\rfloor, \lfloor \dfrac{l+1}{x}\rfloor, \cdots, \lfloor \dfrac{r}{x}\rfloor\) 是连续的整数。 而且,显然有 \(\operatorname{gcd}(c, c+1) = 1\)。 换句

有理数运算

https://www.acwing.com/problem/content/description/1580/ 思路: 这题思路并不难,但如果你傻乎乎的一种一种情况的输出,那会非常的繁琐,巧妙的利用一个函数来统一起来实现。 #include <iostream> using namespace std; typedef long long LL; LL gcd(LL a, LL b) { return b

多校联训12

rank 56 grade 146 T1:水题二分 T2:数论 T2:定义f(f(f(f(x)))).....是f(x)迭代n次的结果,f(x)=(x+1/x)/2.给出多组n,x,求f(x)这样迭代n-1的结果。(n<=1e18,x<=1e18) x= \(\frac{a}{b}\) ,原式可以化为\(\frac{a^{2}+b^{2}}{2*ab}\),假设f2(x)=a2/b2,发现a2+b2=\((a+b)^{2}\),a2-b2=\((

【题解】「JOI 2015 Final」JOI 公园

Description Solution Code #include <cstdio> #include <algorithm> #include <queue> #define int long long using namespace std; const int MAXN = 1e5 + 10, MAXM = 4e5 + 5, INF = 1e18; int n, m, C; int head[MAXN], nxt[MAXM], ver[MAXM], edge[

【模板】BSGS

给你\(a,b,p\in \mathbb{N}_+\),请解出方程\(a^x\equiv b\pmod p\)的最小解\(x\in\mathbb{N}_+\)。 #include <stdio.h> #include <map> #define ull unsigned long long #define ll long long ll light_multi(ll _a,ll _b,ll _p) { _a %= _p, _b %= _p;

Zabbix 5.0:通过LLD方式自动化监控阿里云RDS

Blog:博客园 个人 之前做了RDS监控,由于 RDS 实例梳理增多,手动添加的方式已经不够效率,故改为LLD(Low-level discovery)方式做监控。 什么是LLD LLD(Low-level discovery),即低级发现,提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法。例如,Zabbix可以在你的机器上自

Codeforces Round #804 (Div. 2) DAlmost Triple Deletions

题意:给定一长度为n的数组,可以任意选择其中两个相邻且不同的元素相消,请问最后可以剩下的所有元素相同的数组的长度最长是多少 思路:先花O(n^2)的时间求出任意i-j这一段的元素能否被完全消掉(del[i][j]==1),然后开始dp。dp[i]表示前i个元素经过操作后 剩下的元素相同且包含第i个元素的数

AcWing 100. 增减序列

题目传送门 一、试题分析 因为题意要求,每次都一个区间加上1或者减去1,所以想到了差分。 首先,先对数组\(a\)差分一下,求出差分数组\(b\),接下来我们的任务就是对\(b[2\sim n]\)全部变成\(0\)(所有的数和\(b[1]=a[1]\)一样)即可。 我们对差分序列\(b\)直接操作,因为一个\(++\),一个\(--\),

acwing105七夕祭 (贪心)

七夕祭 题目大意 给一个n * m矩阵,有一些位置是1,其他是0。 每次操作可以交换相邻的两个数,特别的,每行/每列的第一个数和最后一个数视为相邻。 希望可以实现两个目标:1.每一行1一样多;2.每一列的1一样多 问最多可以实现几个目标,并求出对应的最少操作次数。 解题思路 如果1的总数是列的

CF767B 【The Queue】 题解--zhengjun

solution 一道贪心题。 如果有两个人分别在\(x\)和\(y\)来(\(x<y\)且这两个人来的时刻的中间没有其他人) 那么\(Vasya\)从\(x+m\)到\(y-1\)这段时间来都一样,那么我们就枚举每一个人,然后看看如果\(Vasya\)在这个人之前插进去最少要等多长时间,更新答案就可以了 #include<cstdio> #incl

F - Subarrays Gym 103736F

题意: 求有多少段连续的区间,他的区间和是k的倍数。 题解: 求取模后的前缀和,如果两点取模后的前缀和相同,则相减后、结果为零。也就是取模为零,也就是是k的倍数。 #include<bits/stdc++.h> #define int long long using namespace std; const int N=1e5+10; int n,k,ans; int a[N],sum;

矩阵快速幂

矩阵快速幂其实就是运算的时候将幂优化了,可以近似看为快速幂 快速幂 求\(x^{n}\),当n为奇数时,n的二进制最后一位必定是1,可以将其与1来判断是否为奇数,与结果相乘 n为偶数时,\(x^{2}\) = x * x,然后与结果相乘,最后在除2即可,默认向下取整 #include <iostream> #include <cstring> #in

二维树状数组模板(自用)

demo: 1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstring> 5 #include<queue> 6 #include<cstdio> 7 #define LL long long 8 using namespace std; 9 const int maxa=1024*2+10;//~~pow(2,1

数论模运算以及快速幂小解

来到数论王国,一切都得重新开始啦 模运算,顾名思义,对一个数进行取模运算,在大数运算中,模运算是常客 如果一个数太大无法直接输出,或者是不需要直接输出,可以对他进行取模缩小数值在输出 我们习惯这样写:a%b=c 取模的结果一般满足于0<=c<=m-1,m一般是题目给的数据范围 而对于取模操作,满足

Prime Distance

Prime Distance http://poj.org/problem?id=2689 #include<iostream> #include<cmath> #include<vector> #include<cstdio> #include<string.h> using namespace std; typedef long long ll; const int N = 1e5+7; vector<ll>prime(N); b

HJ33 整数与IP地址间的转换

HJ33 整数与IP地址间的转换 位运算 题目 代码 #include <iostream> using namespace std; //位运算 int main(){ long long int a, b, c, d, num; while(scanf("%lld.%lld.%lld.%lld",&a, &b, &c, &d) != EOF){ cin>>num; cout<< (a<<

Part2.4 P1226 快速幂 【快速幂板子题】

原题链接:P1226 【模板】快速幂||取余运算 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意:求快速幂 思路:板子 评价:快速幂板子 1 #include<bits/stdc++.h> 2 using namespace std; 3 //#define mod 1000000007 4 typedef long long ll; 5 ll a,b,mod; 6 ll qpow(ll a,ll

为了解决高中留下的一些整数分解问题而进行必要的学习

为了解决高中留下的一些整数分解问题而进行必要的学习

D. X-Magic Pai

D. X-Magic Pair 思路: 如果可行,那么答案的构成一定是某个大的数减去某个小的数,或者\(a\)和\(b\)某一个数一开始就等于\(x\),我们把后一种情况特判掉。 如何处理前面一种情况:我们一直保证\(a > b\),在处理过程中\(x <= max(a, b)\)恒成立。如果\(a\) 减去若干个\(b\)就能等于\(x\), 那

codeforces-D. Make Them Equal (1600)

1 /**\ 2 https://codeforces.com/problemset/problem/1633/D 3 注意到b[i]的范围最大是 1000 ,从1-1000 变化最多大约在13次左右 4 13n复杂度不高,直接预处理每个数从1-1000变化花费 5 然后经典01背包 6 \**/ 7 #include <bits/stdc++.h> 8 using namespace std; 9 #def

[51nod : 2102][位运算] 或减与

题目 \(Link\) 解析 按照题目说法,即输出 \(a | b - a & b\) 即可。 但是按照这则运算,可以发现\(a | b - a & b = a ^ b\) 这个可以举例说明,再次就不赘述了。 Code #include <bits/stdc++.h> #define ll long long using namespace std; int main () { ll a, b; scanf ("%lld%ll