牛客题解
iuk11
我想去更远的地方看看,现在还缺少载具。
展开
-
牛客练习赛81 A
A原创 2021-04-27 21:29:13 · 97 阅读 · 0 评论 -
“九韶杯”河科院程序设计协会第一届程序设计竞赛 部分题解
(大型翻车A602#include<bits/stdc++.h>using namespace std;int main(){ int sum=0; for(int i=6;i<=2021;i++){ int n=i,temp=1; while(n){ temp=n%10; n/=10; if(temp==6) sum++; } } cout<<sum<<endl; return 0;}B7825有一个坑原创 2021-04-15 22:33:39 · 173 阅读 · 0 评论 -
NC 200190 矩阵消除游戏
打卡 day 11做了一个kuangbin专题又回来做简单题了。好像学新东西就要借鉴别人代码,要蓝桥杯比赛了,多自己思考思考写代码。一开始想的贪心,后来在讨论区发现了能gank的数据(3 2 2 \1001 1 101 \1001 0 101 \0 0 0),发现自己想的有问题,不能直接取最大的前缀和来累加。但是可以先枚举行,然后用贪心的方法累加列,因为行消除完之后不会再影响列,列之间相互独立,我们就可以累加了。枚举行就是写一个1<<15的二进制,每一位代表当前行选还是不选。我想到了原创 2021-04-07 21:10:40 · 122 阅读 · 0 评论 -
ICPC区域赛 昆明 Simone and graph coloring
#include<bits/stdc++.h>using namespace std;const int maxn=1e6+10;int n;int a[maxn];int tree[maxn<<2];int res[maxn];void build(int p,int l,int r){ tree[p]=0; if(l==r){ scanf("%d",&a[l]); return ; } int.原创 2021-04-05 21:18:13 · 260 阅读 · 0 评论 -
划分字母区间(main函数版)
学校里的程序设计大赛出了,当时眼前一黑,没读懂啥意思。仔细想“同一个数组最多出现在一个片段里”这句话,以第一个字符找到它最后一次在字符串里出现的位置,然后看这个区间里的其它字符最后一次出现的位置在哪,如果在后面就向后维护一个最大区间。我把找到的字符串都舍去了,数据范围小,瞎写都行,逃了逃了。#include<bits/stdc++.h>using namespace std;map<char,int> mp;int main(){ int t; cin>>原创 2020-11-23 19:46:52 · 165 阅读 · 0 评论 -
已知矩形体积,求解最小表面积(优化算法)
题是51nod上的 3330 Minecraft :题目地址(网站崩了就去按题号找一下)输入一个n,n<=1e9,n是小方块个数,可以相当于已知矩形体积,求解最小表面积的长宽高为整数的解。首先因为n的范围很大,不能用三重循环的做法,就是分别遍历长宽高,然后满足条件算出表面积维护最小值。最简单的优化是把三重循环变成二重循环,参考poj 2363 ,相当于用体积公式去掉一重循环,已知长宽可以由V=abc得a=V/(b*c),然后同上,满足条件算出表面积维护最小值。接下来就是能ac的思路了,第一步先原创 2020-11-11 00:13:51 · 2047 阅读 · 0 评论 -
合并果子——记一下 优先队列
priority_queue <int,vector<int>,less<int> > p;priority_queue <int,vector<int>,greater<int> > q;{5,4,1,2}less:{5,4,2,1}greater:{1,2,4,5}less是从大到小,greater是从小到大。#include<bits/stdc++.h>using namespace std;pri原创 2020-10-30 19:55:05 · 82 阅读 · 0 评论 -
Sum of Consecutive Prime Numbers——素数
用了欧拉筛法,对于欧拉公式还是有很多不理解的地方,回头补几道练习。#include<iostream>#include<cstdio>#include<algorithm>#include<math.h>#include<cstring>#include<string>#include<vector>using namespace std;const int maxn=1e5+5;int vis[maxn原创 2020-10-20 20:24:48 · 184 阅读 · 0 评论 -
A hard puzzle——快速幂
#include<iostream>#include<cstdio>#include<algorithm>#include<math.h>#include<cstring>#include<string>#include<vector>using namespace std;typedef long long ll;const int mod=1e9;ll qpow(ll a,ll b){ ll原创 2020-10-20 20:22:47 · 124 阅读 · 0 评论 -
Specialized Four-Digit Numbers——进制转换
可以说是板子题,进制转换,不断取余,这道题简单在也不用输出,比如十六进制九以后的数要表示成A,B,C…像这道题就可以直接取余然后加到结果里,然后不同进制的结果进行比较。#include<iostream>#include<set>#include<queue>#include<cmath>#include<stack>#include<vector>#include<string>#include<cs原创 2020-10-20 20:21:07 · 292 阅读 · 0 评论 -
An Easy Task
我打表了。。然后没超时题意就是求所给年份后的第k个闰年闰年怎么求题目中告诉了#include<iostream>#include<cstdio>#include<algorithm>#include<math.h>#include<cstring>#include<string>#include<vector>using namespace std;vector<int> ve;void原创 2020-10-20 20:14:36 · 162 阅读 · 0 评论 -
Pie Cable master 两道类似的二分题
#include<iostream>#include<cstdio>#include<algorithm>#include<math.h>#include<cstring>using namespace std;#define pi acos(-1.0)double a[10010];int main(){ int t; double l,r; double mid; scanf("%d",&t); while(t原创 2020-10-11 16:18:23 · 83 阅读 · 0 评论 -
Find a multiple
#include<iostream>#include<cstdio>#include<algorithm>#include<math.h>#include<cstring>#include<string>#include<vector>using namespace std;typedef long long ll;const int maxn=10005;int s[maxn],a[maxn],mod[原创 2020-10-11 15:54:15 · 91 阅读 · 0 评论 -
牛客练习赛 68 69 C题 无向图并查集
一开始看到这道题,想到的是最短路,用dijkstra,但是n的范围太大了,直接超内存,看了题解之后发现是并查集的思路。先存点,用node存上{u,v,w},根据权值来降序,判断两点是不是一个祖先,如果不是一个祖先,答案加上两点间的权值。这就相当于先找最大权值两点相连的点,这两点直接的权值就确定下来了,接下来只是在m条边中找其它两点的权值,直到所有的边完成遍历。答案就是所有边的最大权值。#include<bits/stdc++.h>using namespace std;#define.原创 2020-09-13 15:03:52 · 188 阅读 · 0 评论 -
牛客小白月1
A就是简单的数学题,唯一注意的就是精度问题exp(1)算出来的是e的准确值,exp(x)返回e的x次方,之后跟着题意写全代码就行。中途想到了一下二分快速幂,发现pow()就是浮点型的,直接拿来用了,顺变补个快速幂吧,大数的,矩阵快速幂回头再补。#include<bits/stdc++.h>using namespace std;#define e exp(1)int main(){ int t; cin>>t; double a,b,c;原创 2020-08-23 21:22:08 · 94 阅读 · 0 评论 -
小c的笔记本(栈)
问题出自https://ac.nowcoder.com/acm/problem/15975stack<string> c;int main(){ ios::sync_with_stdio(false); int q; cin>>q; string s; c.push(s); while(q--){ int t; cin>>t;原创 2020-06-15 23:26:49 · 176 阅读 · 0 评论 -
吐泡泡(栈)
问题链接https://ac.nowcoder.com/acm/problem/15029#include<bits/stdc++.h>using namespace std;int main(){ char p[120]; while(cin>>p){ int l=strlen(p); stack<char> a; for(int i=0;i<l;i++){ if(a.e原创 2020-06-14 12:08:10 · 334 阅读 · 0 评论 -
数学考试dp
来自https://ac.nowcoder.com/acm/problem/15553先是read()函数,用于快速读入,比cin快,比printf快int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-'){ f=-1; } ch=getchar(); } while(ch>=原创 2020-05-30 21:54:53 · 397 阅读 · 0 评论