- 博客(141)
- 收藏
- 关注
原创 GCD of an Array
传送门题意:已知一个长度为 n的数列 q 次操作,每次将ai 乘以 x,在每次操作后输出整个数列的 gcd。思路:质因数思想,每次最小公共质因数的数量,这些数量相乘,最后的答案就是gcd#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;typedef long long ll;const int MAXN = 2e5 +
2022-05-15 14:28:52
182
原创 Atomic Energy(贪心+完全背包思想+思维)
//0x3f不能直接用来赋值,必须是memset里面才行//0x3f3f3f3f可以直接用来赋值#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;typedef long long ll;const int N = 505000 + 100; //范围设置为每个数n次,这样的完全背包管你什么组合都考虑进去了,有一
2022-04-18 10:17:12
152
原创 【无标题】
#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;typedef long long ll;const int N = 1e5 + 10;ll n, m, mod;ll a[N];struct node{ int l, r; ll add, mul; //懒惰标记 ll sum;} tree[N <...
2022-04-16 18:19:21
268
原创 维护前K大
维护一个数组里的连续K个里面的最大值和最小值,优先队列//升序队列priority_queue <int,vector<int>,greater<int> > q;//降序队列priority_queue <int,vector<int>,less<int> >q;//greater和less是std实现的两个仿函数(就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似
2022-04-10 22:26:46
481
原创 提取字符串中的数字
#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;vector<int> v;int num(){ int d = 0; for (int i = 0; i < v.size(); ++i) { d = d * 10 + v[i]; } return d;}...
2022-04-10 11:25:41
1365
原创 ~~汉诺塔~~
汉诺塔问题递归的本质思想,大问题与子问题之间的联系,只要想清楚联系,初始步骤,和结束条件,剩下的就交给计算机吧!可以看:木子猫neko#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;int n; void hannuota(int n, char a, char b, char c){ if (n == 0) r
2022-04-07 21:18:37
156
原创 ~KMP~
题目题目描述给出两个字符串s_1s1和s_2s2,若s_1s1的区间[l, r][l,r]子串与s_2s2完全相同,则称s_2s2在s_1s1中出现了,其出现位置为ll。现在请你求出s_2s2在s_1s1中所有出现的位置。定义一个字符串ss的 border 为ss的一个非ss本身的子串tt,满足tt既是ss的前缀,又是ss的后缀。对于s_2s2,你还需要求出对于其每个前缀s's′的最长 bordert't...
2022-04-07 20:04:30
365
原创 黑龙江省赛F
这道题考的是对线性筛的理解,读懂题意,再根据题意模拟,最重要的是想想题目那些是必须要做的,那些是可以省略的,这就是算法,相差很大的。#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;typedef long long ll;const int N = 1E7 + 10;unordered_map<int, int>..
2022-04-06 17:40:57
251
原创 2021浙江省赛J(最短路+完全背包)
思路:最短路是求到那些点的最短时间的,最短时间求出来,每个点的价值又是知道的,而且每个点可以拿无数次,就是完全背包问题了#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'#define mk make_pair<int, int>using namespace std;typedef long long ll;typedef pair<int, ...
2022-04-06 15:29:15
317
原创 数论分块(2021浙江省赛F)
#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;typedef long long ll;int T;ll n, m;int main(){ IOS; cin.tie(0), cout.tie(0); cin >> T; while (T--) { ll ans = 1e9; cin &g...
2022-04-06 09:34:12
183
原创 AND RMQ线段树
#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false) #define endl '\n'using namespace std;const int N = 4e5 + 10;int n, m;int a[N];struct node{ int l, r; int sum;//这个是在当前区间每个数的或 int maxx;//当前区间的最大值 } tree[N << 2];...
2022-04-01 17:25:53
395
原创 区间动态规划
#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false)#define endl '\n'using namespace std;typedef long long ll;const int mod = 1000003;ll n;ll a[500];ll qjc[500][500];ll dp[500][500];int main(){ IOS; cin.tie(0), cout.tie(...
2022-03-31 20:12:47
867
原创 dfs + 记录路径
/*******Author Smile这题有点像并查集用并查集做了直接tle....所以换种思想我要知道的只是那条最小序列路径路径是否可以用bfs 或 dfs 来dfs显然就想到了注意再用vector存的时候要先排好序要求就是最小序列学到了:vector 竟然可以直接使用 = 号 https://pintia.cn/problem-sets/1386618600622653440/problems/1386618817188167686*******/#include &l.
2022-03-27 10:27:26
570
原创 Twist the Permutation
思路逆着想,观察下状态,和一些规律,有时会有奇效。D. Twist the Permutationtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPetya got an arrayaaof numbers from11tonn, wherea[i]=ia[i]=i.He performednn...
2022-03-26 21:21:47
637
原创 LRU(模拟缓存)
time limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIt costs a long time for CPUs to access data from memory, so most of CPUs have caches where requests for data can be served faster. To be
2022-03-24 22:09:42
666
原创 Mio visits ACGN Exhibition
A. Mio visits ACGN Exhibitiontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputOne day, Mio visits an Animation Comic Game Novel (ACGN) Exhibition, and she would like to buy some present
2022-03-23 23:30:02
1139
1
原创 巨巨的磁盘(线段树)
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述HT 巨巨有个 nnn 个块(物理块)的磁盘,每个块只有被占用、空闲两种状态。我们赋予 nnn 个块 111 到 nnn 的编号,初始所有块都是空闲的。对这个磁盘有两种操作:- `1 x`,表示把第 xxx 个块的状态翻转,即如果当前被占用则释放,如果是空闲的则占用。- `2 .
2022-03-22 22:45:15
889
原创 周周的月亮
求区间相加和,可以用前缀和,在加二分的方法,可以找到最小的满足条件的值#include <bits/stdc++.h>using namespace std;const int N = 2e5 + 10;typedef long long ll;ll n, h;ll a[N];ll cha;ll minn = 1e18;//代表两者之间的最小距离 int check(ll l, ll r){// cout << "l:" <<...
2022-03-22 19:33:37
96
原创 瓜瓜选妃(set)
set的二维数组下标法,set的lower_bound和upper_bound,返回定位器,删除区间可以用他们的返回区间,eraser,注意区间删除是后一个要后一位,思维很强链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述今天是瓜瓜大王选妃的日子,所有 MM 排成了 n×mn \times mn×m 的方阵。每次瓜瓜可以任意.
2022-03-21 18:18:30
1465
原创 瓜瓜轰炸机---------卡了long long, 但是对二维图的理解加深了,可以把坐标之和看成是奇数和偶数,这样就可解决,任意方向问题了
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述有一个 n×mn \times mn×m 的网格,每个格子上站着一个血量为 kkk 的敌人。瓜瓜每次可以选择一个格子进行轰炸。轰炸过后该格子上的所有敌人都会发生如下变化如果受到伤害的敌人血量为 111,那么他会战死;如果受到伤害的敌人血量大于 111,那么他会失去一点血量值,.
2022-03-21 13:10:24
823
原创 连通块问题,可以用并查集来讨论,求连通块的数量可以,再求的时候就记录,对于超大数,直接用unordered_map<ll, ll>来存,查找这些元素用ump.count(x)来找
现在就是ump.count(i)更快#include <bits/stdc++.h>using namespace std;typedef long long ll;int d, q;unordered_map<int, int> ump, fa;double computer_distance(int x1, int y1, int x2, int y2){ return sqrt(1ll * (x1 - x2) * (x1 - x2) + 1ll * (y
2022-03-21 09:11:13
122
原创 01字符串(遇到讨论多种情况,的最小,最大问题,直接ans直接把所有情况讨论一遍)这样就是无遗漏
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述这是一片神奇的土地,地下埋藏着 01 串,吸引了很多玩家来淘宝。瓜瓜也是其中的一员,可是他找了许久,身上的钱都花光了,不得不结束。最后瓜瓜只找到了一个长为 nnn 的 01 串 SSS。一个串中 000 的个数越多,那么这个串价值就越高。瓜瓜觉得手中 01 串的价值还不够高,于是.
2022-03-20 18:15:05
690
原创 瓜瓜上电工
瓜瓜上电工比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述队友拍醒了瓜瓜,因为电工实验开始了,不能再盯着二极管发呆了。测量电路电压需要用很多次电压表,每次都要把测量头从一个接线柱上拔下来,再绑到另一个接线柱上,这让他感到烦躁。瓜瓜可以通过调整测量顺序,减小测量头的移动次数。形式的说,电路有nn个接线柱,需要测量qq次电压。当需要测量(a_i,...
2022-03-20 10:03:13
270
原创 至多删三个字符(动态规划字符串问题)
7-14 至多删三个字符 (35 分)给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串?输入格式:输入在一行中给出全部由小写英文字母组成的、长度在区间 [4,106] 内的字符串。输出格式:在一行中输出至多删掉其中 3 个字符后不同字符串的个数。输入样例:ababcc输出样例:25提示:删掉 0 个字符得到 "ababcc"。删掉 1 个字符得到 "babcc", "aabcc", "abbcc",.
2022-03-17 14:53:01
1180
1
原创 分而治之(判断连通性可以这样写)
题目#include <bits/stdc++.h>using namespace std;const int N = 1e4 + 10;int n, m;vector<int> v[N];int main(){ ios::sync_with_stdio(false); cin.tie(0), cout.tie(0); cin >> n >> m; for (int i = 1; i <= m; ++i) { int
2022-03-16 22:50:14
190
原创 天梯赛座位分配(轮盘转)
题目#include <bits/stdc++.h>using namespace std;int n;int w[110][110];int a[110][110];int main(){ cin >> n; int maxx = 0; for (int i = 0; i < n; ++i) { int temp; cin >> temp; if (maxx < temp) maxx = temp; /.
2022-03-16 22:14:44
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人