Y总的人
acwing,入门到入土
scau_sleep(今天写bug了吗?
1.一个退役acmer,老年选手
2. 今天喝水了吗?
3. 会写暴力~比不会写强~比不会写优秀
4.不会三分,喜提铁牌。
5. 失败一次不算什么,胸针为了拯救真由里 和 助手。重来3000多次都可以,那我失败几次,又算什么。(命运石之门)
-------如果说这是命运石之门的意志的话
展开
-
寒假每日一题(更新中 && 拓展部分待补充 && 瞎搞整活系列)
跟着y总学算法系列。day1104. 货仓选址简单中位数题。原创 2021-01-09 12:05:13 · 251 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping! HDU - 1087(最大子序列和)
Super Jumping! Jumping! Jumping! HDU - 1087题意:给你一个序列,要你求最大子序列和。且子序列里,要严格单调递增。思路:最长上升子序列的O(n2n^2n2)改一下即可.AC/*皮卡丘冲鸭!へ /| /\7 ∠_/ / │ / / │ Z _,< / /`ヽ │ ヽ / 〉 Y ` / / イ● 、 ● ⊂⊃〈 / () へ | \〈 >ー 、_ ィ │ //原创 2021-02-18 00:37:12 · 88 阅读 · 0 评论 -
AcWing 3203. 画图(暴力)
AcWing 3203. 画图题意:在一个二维平面,给你n个矩形,要你求矩形面积的并。思路:n ∈[1,100]\in [1,100]∈[1,100]坐标的范围也是∈[0,100]\in [0,100]∈[0,100]由于数据小所以直接暴力。时间复杂度 O(1003100^31003)AC# include <iostream># include <cstring># include <algorithm># define x first# d原创 2021-02-17 18:51:05 · 61 阅读 · 0 评论 -
寒假每日一题 Z字形扫描,简单模拟
题意:给你一个矩阵,要你进行z扫描。之后输出。像题目描述一样来输出。思路:用四个方向来表示,向斜上走 x−1x-1x−1, y+1y+1y+1向斜下走 x+1x+1x+1, y−1y-1y−1向右走 x+0x+0x+0, y+1y+1y+1向下走 x+1x+1x+1, y+0y+0y+0往斜上走到头后,会向右走。往斜下走到头后,会向下走。AC# include <iostream># include <cstring># include <cs原创 2021-02-16 22:38:43 · 85 阅读 · 0 评论 -
拼写正确(每日喝水,我爱喝水,简单for循环)
AcWing 1477. 拼写正确题意:给你一个数字。(最大到1010010^{100}10100)要求:你求出每一位的和sum,之后输出这个sum的每一位,用英文输出。反思:看到大佬有一个to_string()函数少写几行。string a = to_string(sum) ;AC# include <string># include <vector># include <iostream># include <algorithm&g原创 2021-02-15 15:15:30 · 87 阅读 · 0 评论 -
数字反转 (每日喝水,我爱喝水,简单for循环)
数字反转题意:思路:先字符串输入。然后反着操作即可。AC# include <iostream># include <string>using namespace std;int main(){ string s; cin>>s; int ans = 0; for(int i = s.size()-1; i>= 0; i --){ if(s[i]=='-')ans*=-1; el原创 2021-02-14 15:39:28 · 127 阅读 · 0 评论 -
每日喝水,我爱喝水,简单for循环
题意思路直接暴力即可。先从小到大找到最小的质因子,记为ans。(只用循环到n\sqrt{n}n,因为较小的那个质数的范围是[2,n][2,\sqrt{n}][2,n])之后n/ans就是较大的质因子了。AC# include <iostream># include <cstdio>using namespace std;int main(){ int n; scanf("%d", &n); int ans =0; f原创 2021-02-13 19:39:44 · 64 阅读 · 0 评论 -
紫薯第9章动态规划,从入门到入土(acwing部分)
闫氏dp分析法:1. 数字三角形 模型2. 最长上升子序列 模型原创 2021-02-10 01:22:16 · 111 阅读 · 0 评论 -
紫薯第9章动态规划,从入门到入土(acwing部分)---数字三角形部分
eg1 摘花生思路O(n2n^2n2):就是数字三角形的模板题# include <bits/stdc++.h>using namespace std;int f[110][110];int n, m;int main(){ int t; scanf("%d", &t); while(t--){ scanf("%d%d", &n, &m); for(int i = 1;i <= n; i ++原创 2021-02-10 01:21:34 · 171 阅读 · 0 评论 -
线段树复习2 区间最大子段和
AC# include <bits/stdc++.h>using namespace std;const int N = 5e5+10;int w[N];struct Node { int l, r; int mx; int pre,suf; int sum;} tr[N<<2];void pushup(Node& u, Node &l, Node &r){ u.mx=max(l.suf+r.pre, ma原创 2021-02-04 14:40:37 · 79 阅读 · 0 评论 -
线段树原码复习
AC# include <bits/stdc++.h>using namespace std;const int N =2e5+10;struct Node{ int l, r; int mx;} tr[N<<2];void pushup(int u){ tr[u].mx=max(tr[u<<1].mx,tr[u<<1|1].mx);}void build(int u, int l, int r){ if(l原创 2021-02-04 14:39:14 · 78 阅读 · 0 评论 -
差分树状数组后,支持区间查询
y总笔记# include<bits/stdc++.h>using namespace std;typedef long long LL;const int N = 1e5+10;int a[N];LL tr1[N], tr2[N];int n, m;int lowbit(int x){ return x&-x;}void add(LL tr[], int x, LL c){ for(int i = x; i<= n; i += lowbit(原创 2021-02-04 00:42:04 · 76 阅读 · 0 评论 -
再入树状数组&&线段树
树状数组:快速求前缀和。修改某一个数。一、缘由:假如求[1,x][1,x][1,x]的前缀和,那么对它进行区间划分。第一个:[x−2i1+1,x][x-2^{i_1}+1,x][x−2i1+1,x] (区间长度2inum2^{i_{num}}2inum=2i12^{i_{1}}2i1)第二个:[x−2i1−2i2+1,x−2i1][x-2^{i_1}-2^{i_2}+1,x-2^{i_1}][x−2i1−2i2+1,x−2i1] (2inum2^{i_{num}}2inum原创 2021-02-04 00:40:04 · 91 阅读 · 0 评论 -
每日喝水,我爱喝水,简单bfs走迷宫
AC(输出的oop,打成opp,腿都打断,浪费时间)# include <bits/stdc++.h># define mp make_pair# define x first# define y secondusing namespace std;typedef pair<int,int>pa;typedef pair<pa,int>ppa;const string no="oop!";int dx[]={0,0,1,-1};int dy[]={1,原创 2021-02-03 19:40:13 · 98 阅读 · 0 评论 -
AcWing 703. 数独检查(简单模拟即可)
AcWing 703. 数独检查题意:要你check一个数独是否合法。思路:模拟即可。AC# include <bits/stdc++.h>using namespace std;int a[40][40];int n;bool check(){ // line int x, y; for(int i = 0; i< n*n; i++){ vector<int>vis(n*n+1); for(int j原创 2021-02-02 18:01:21 · 101 阅读 · 1 评论 -
AcWing 426. 开心的金明(01背包,我爱喝水,天天健康,牛客切不出,喝下水)
AcWing 426. 开心的金明 AC# include <bits/stdc++.h>using namespace std;const int N = 3e4+10;typedef long long ll;ll dp[N];int main(){ int n, m; scanf("%d%d", &n, &m); for(int i = 1; i <= m ; i++ ){ int v, w; s原创 2021-02-01 17:40:27 · 100 阅读 · 0 评论 -
204. 表达整数的奇怪方式(exgcd,,,数学推导,借助中国剩余定理)
204. 表达整数的奇怪方式题意:y总的笔记墨染空大佬的 题解%%%%%AC# include <bits/stdc++.h>using namespace std;typedef long long ll;ll exgcd(ll a, ll b, ll& x, ll& y){ if(b==0){ x = 1, y= 0; return a; } ll d = exgcd(b,a%b,y,x);原创 2021-02-01 00:14:23 · 135 阅读 · 0 评论 -
AcWing 126. 最大的和(最大子矩阵和)
题意:给你一个矩阵,要你找到最大子矩阵的和。思路:二维最大子段和。可以先枚举两条线(定上下),之后再操作最大子段和。(这里可以预处理出每一列的前缀和)。AC# include <bits/stdc++.h>using namespace std;const int N = 200;int g[N][N];int main(){ ios::sync_with_stdio(0); int n; cin>>n; for(int i = 1原创 2021-01-30 19:52:48 · 199 阅读 · 0 评论 -
AcWing 1015. 摘花生(y总入门组每日一道水题)
1015. 摘花生模板dpAC# include <bits/stdc++.h>using namespace std;int f[200][200];int main(){ int tt;cin>>tt; while(tt--){ int n, m; cin>>n>>m; for(int i = 1; i <= n; i++ ){ for(int j =原创 2021-01-29 18:26:04 · 188 阅读 · 0 评论 -
AcWing 1381. 阶乘 (阶乘分解)
AcWing 1381. 阶乘题意:给你一个n!n!n!的数,求在10进制下最右边非零数字。思路:阶乘分解,由于末尾零的产生,会和2和5有关,所以处理时,先把2和5拿出来。最后再放回去。AC# include <bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); int n; cin>>n; int d2,d5; d2 = d5= 0;原创 2021-01-28 16:08:56 · 106 阅读 · 0 评论