![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Codeforces
Pickled cucumber
这个作者很懒,什么都没留下…
展开
-
1363 A. Odd Selection
题目判断从n个数能不能选x个数和为奇数。题解:分情况。代码:#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intmain(){intt;cin>>t;while(t--){intn,x;cin>>n>>x;intm;into...原创 2021-08-21 15:23:32 · 189 阅读 · 0 评论 -
588 B. Duff in Love
题目给一个n,找到n的因子里面最大的,不存在大于1的完全平方数是它的因子的数。题解:从i=2到sqrt(n),只要i的平方数能整除n,就除以i,再输出n。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;int main() { ll n; cin >> n; for (ll i = 2; i <= sqrt(n); ++i) { whil...原创 2021-08-17 21:41:18 · 135 阅读 · 0 评论 -
304 B. Calendar
题目:求两个日期相差的天数。题解:直接求。代码:#include <bits/stdc++.h>using namespace std;int a, b, c;int t[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };bool f(int a) { if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) return...原创 2021-08-16 22:05:59 · 140 阅读 · 0 评论 -
630 N. Forecast
题目:求一元二次方程的解。题解:直接求。代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1e3+1;inta[N];intmain(){doublea,b,c;cin>>a>>b>>c;doubled,x1,x2;d=sqrt(b*b-4*a*c);x1=(-b-d)/(2*a);x2=...原创 2021-08-15 21:01:35 · 107 阅读 · 0 评论 -
1165 C. Good String
题目:给定一个字符串,你需要进行删除操作使得它满足新式字符串的要求,问最小的修改次数。题解:遍历字符串完成这个删除操作。代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+1;typedeflonglongll;intmain(){intn;cin>>n;strings,a;cin>>s;int...原创 2021-08-11 14:07:02 · 107 阅读 · 0 评论 -
135 A. Replacement
题目:在数组里找一个数,找到另一个数替换,然后再对数组进行排序,输出可能的数组最小值。题解:要求最后得到的最小,把最大的那个替换掉,而且最简单的还是替换成1,题目中说必须要替换掉一个,不能用自己替换掉自己,如果输入的全是1,就要替换成2。代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+1;inta[N];intmain(){intn;...原创 2021-08-10 12:05:03 · 129 阅读 · 0 评论 -
797 B. Odd sum
题目:给一个长度为n的整数序列,从中挑出一些数,使它们的和最大并且为奇数。题解:先判断每一个数,如果是奇数就存入vector,偶数就直接加到sum,然后降序排序,先加a[0]保证sum是奇数,后面每两个在一起加一次,如果大于零就加到sum,小于零就直接可以break。代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+1;inta[N];intmain(){ios::sync...原创 2021-08-09 12:05:09 · 283 阅读 · 0 评论 -
327 B. Hungry Sequence
题目:求一个含n个元素数列,元素从小到大,并且后面的数不能被前面的数整除。题解:取n到2n-1这n个数字,显然后面的数不能被前面的数整除,而且元素也是从小到大排列的。代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+1;inta[N];inti,j,n;intmain(){ios::sync_with_stdio(0);cin.tie...原创 2021-08-08 11:15:30 · 77 阅读 · 0 评论 -
350 A. TL
题目:Valera想给一个题设置时间限制(Time Limit),他写了n个正确的程序和m个错误的程序,每个程序都有自已运行的时间,设时间限制为v,一个程序只有运行时间不超过v才能AC,在所有能够AC的程序中,有的程序可以以其本身2倍运行时间通过,对于v,要满足一下要求:1、v是一个正整数;2、所有的正确程序都能通过;3、至少有一个程序可以有一个额外的运行时间a;4、所有的错误程序都不能通过;5、v是所有满足的时间限制中最小的时间。现给出这n个正确程序的运行时间和这m个错误程序的原创 2021-08-07 15:39:34 · 49 阅读 · 0 评论 -
1369 B. AccurateLee
题目:给一个01组成的字符串,如果字符串中有“10”结构,那么就可以删除这个1和0中的一个数,使剩下的字符串最短。题解:删除从第一个1开始到最后一个0前面一个数之间的所有数。代码:#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 1;int a[N]; int i, j, n;//我们可以删掉该字符串从第一个‘1’出现的位置开始//到最后一个‘0’出现的位置为止中间的所有数。int mai原创 2021-08-06 15:18:41 · 67 阅读 · 0 评论 -
180 C. Letter
题目:给一个字符串,对字母进行大小写转换,要求:大写字母都要在小写字母前面,求最小操作数。题解:用dp,DP,dp[0][i]表示第i位为大写字母时的最小操作数,dp[1][i]表示第i位为小写字母时的最小操作数。代码:#include<bits/stdc++.h>usingnamespacestd;intn;constintN=1e5+1;intdp[2][N];inta[N];//dp[0][i]:记录大写字母//dp[1]...原创 2021-08-05 14:48:35 · 73 阅读 · 0 评论 -
445 B. DZY Loves Chemistry
题目:有n种药物,其中m对能发生化学反应,容器初始危险度为1,当放入一种药品若和容器中已有物品能发生反应,危险度就乘2,求按一定顺序放入所有药品危险度最大是多少。题解:并查集,求出哪些数的父节点不是本身,再求出最大危险度。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;int n, m;ll ans = 0, most_dangous = 1;const int N = 10001原创 2021-08-04 11:53:50 · 86 阅读 · 0 评论 -
1068 B. LCM
题目:已知b,a从1-1e18 ,求 lcm [ a, b ] / a有多少个不同的值。题解:由于:,且a的范围是1-1e18,故可以转为求b因子的数。代码:#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intmain(){ios::sync_with_stdio(0);llb;cin>>b;llans=0;...原创 2021-08-03 16:34:40 · 56 阅读 · 0 评论 -
126 B. Password
题目:从一个字符串里面找到存在前缀和后缀并且在字符串里面出现过的子串。题解:先求next数组,再用kmp配对。代码:#include<bits/stdc++.h>using namespace std;const int N = 1e6 + 1;int Next[N];void getNext(string s){ int n = s.length(); Next[0] = -1; int k = -1, j = 0; while (...原创 2021-08-02 11:30:48 · 122 阅读 · 0 评论 -
625 B. War of the Corporations
题目:找出子串在母串里面出现的次数。题解:用KMP求解。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e6 + 1;int ans = 0;void getNext(const string& s, int next[]) { next[0] = -1; int k = -1; int j = 0; whi...原创 2021-08-01 13:28:53 · 89 阅读 · 0 评论 -
1538 C. Number of Pairs
题目:找出处于和r,l范围内的一对数的个数。题解:用lower_bound和upper_bound函数,【l,r】内对数等于【0,r】减去【0,l-1】内对数个数。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 2e5 + 10;int a[N];signed main(){ int t; cin >> t; while (t-...原创 2021-07-31 11:40:58 · 137 阅读 · 0 评论 -
1514 B.AND 0, Sum Big
题目:从2的k-1次方到0之间选取n个数,使这n个数&为0且和要尽可能大。题解:n个数化成二进制让每个数的其中一位变成0,即可使&为0,且和尽可能大,所以答案是n的k次方。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int mod = 1e9 + 7;int main(){ ios::sync_with_stdio(0); cin...原创 2021-07-30 10:52:38 · 66 阅读 · 0 评论 -
1140 C. Playlist
题目:给定n个音乐,每个音乐都有一定长度和欣赏值,再给定一个k,求不超过k的情况下,音乐长度和乘以其中欣赏值的最小值的最大值。题解:用piar容器存放数据,用优先队列来去除最小的欣赏值,再找出其中的最大值。代码:#include<iostream>#include<utility>#include<queue>#include<algorithm>using namespace std;typedef long long ll原创 2021-07-29 11:10:05 · 122 阅读 · 0 评论 -
1526 C1,C2 Potions
题意:有一堆药水,每瓶一个正数或者是负数,可以选择喝与不喝,问最多可以喝多少瓶药水,使得最后的数值不为负数。题解:遇到正数的药水直接喝,遇到非正数的药水先喝,直到总喝为负数了,再把最小的那瓶负数的药水吐出来。代码:#include<iostream>#include<string>#include<queue>using namespace std;typedef long long ll;int main(){ ios_b...原创 2021-07-28 11:45:12 · 85 阅读 · 0 评论 -
1203 C. Common Divisors
题目:求一堆数里面公因数的数量。题解:先求出最大公因数,然后再查找。代码:#include<iostream>#include<map>using namespace std;typedef long long ll;ll n;const int MAX = 400001;ll a[MAX];ll GCD(ll a, ll b) { return a % b == 0 ? b : GCD(b, a % b);}int main()...原创 2021-07-27 15:34:41 · 43 阅读 · 0 评论 -
1520 D. Same Differences
题目:在一堆数据中找出 i<j && a[j]-a[i]=j-i 的个数。题解:式子可以换成 a[j]-j=a[i]-i,再用map存即可。代码:#include<iostream>#include<map>using namespace std;typedef long long ll;int main(){ int n; cin >> n; while (n--) ...原创 2021-07-26 17:34:22 · 105 阅读 · 0 评论 -
20 A. BerOS file system
题目:输入字符串按 /string/string/string......的格式输出。题解:对字符串进行一定的处理。代码:#include<iostream>#include<string>using namespace std;int main() { string a; cin >> a; int cnt = 0; string b; for (int i = 0; i < a.length(); i+...原创 2021-07-25 09:15:34 · 75 阅读 · 0 评论 -
20 B. Equation
题目:给定一元二次方程的系数,求解。题解:分类讨论系数。代码:#include<iostream>#include<map>#include<cmath>#include<iomanip>using namespace std;typedef long long ll;int main() { double a, b, c; cin >> a >> b >> c;...原创 2021-07-24 10:08:00 · 73 阅读 · 0 评论 -
25 A. IQ test
题目:在一堆只有奇数和偶数的数字里面输出与其他数字不同的数字,不同的数只出现过一次。题解:数清奇数和偶数哪个多,然后再进行输出性质不同的数字代码:#include<iostream>#include<map>#include<string>using namespace std;typedef long long ll;const int N = 101;int a[N];int main(){int n;原创 2021-07-23 08:22:41 · 144 阅读 · 0 评论 -
1526 B. I Hate 1111
题意:判断一个数是不是由11,111,1111......构成。题解:如果这个数符合条件,那么它要么被11整除,要么被111整除,只要把它一直减111,直到可以整除11即可代码:#include<iostream>#include<cmath>#include<string>using namespace std;typedef long long ll;int main(){ int n; cin >> n;wh...原创 2021-07-22 12:12:09 · 173 阅读 · 0 评论 -
2021-07-21
题意:从n个男生和m个女生里面选t人,男人不少于4人,女生不少于1人,求一共有多少种选法。题解:排列组合,暴力求解代码:#include<iostream>using namespace std;typedef long long ll;int main(){ int n, m, t, i, j; ll cnt_x, cnt_y, cnt = 0; cin >> n >> m >> t; ll _c...原创 2021-07-21 13:51:37 · 49 阅读 · 0 评论 -
70 A. Cookies
题意:按照已知的排饼干顺序推算规律题解:排饼干按照首项为1,公比为3的等比序列排序代码:#include <iostream>using namespace std;const int mod = 1e6 + 3;int main(){ int n; cin >> n; int ans = 1; if (n == 0) { cout << 1; } else { fo...原创 2021-07-20 19:25:53 · 57 阅读 · 0 评论 -
4 C. Registration system
题目:每次输入一个字符串a,如果未出现过,输出“OK”,如果出现过,输出该字符串+出现的次数.题解:使用map容器,将输入的字符串和map里面已有的字符串进行对比,再判断输出.代码:原创 2021-07-19 10:47:33 · 60 阅读 · 0 评论 -
11 B.Jumping Jack
题目:杰克最近正在研究他的跳跃技巧。目前,他位于数字线的零点。他想达到x.为了训练,他决定先跳一个单位,每次随后的跳跃将正好比前一个长一个。他每次跳跃都可以向左或向右走。他想知道他需要跳多少跳才能达到x。题解:x先取绝对值,让x一直向右移动,如果达到符合的数则输出,否则一直移动到第一个大于x的数,如果这个数-x为偶数,则输出步数,否则继续向右移动直到符合要求。代码:#include<iostream>#include<cmath>using namespace原创 2021-07-18 14:11:59 · 308 阅读 · 0 评论 -
29 B. Traffic Lights
题目:求车通过红绿灯的时间题解:若车过d时是绿灯,时间是总路程/速度若车过d时是红灯,时间是总路程/速度+等红灯时间代码:#include<iostream>#include<string>#include<utility>#include<map>#include <iomanip>using namespace std;typedef long long ll;int main() { doub...原创 2021-07-17 16:44:34 · 84 阅读 · 0 评论 -
1541 B. Pleasant Pairs
题意寻找一个数组中满足 i<j 且ai*aj=i+j的个数解析ai*aj=i+j 可以推出aj=(i+j)/ai ,又推出j= k*ai-i ,而k>2*i/ai 故 j可以从a[i]-i开始,并且自增a[i]直到找到满足条件代码#include<iostream>using namespace std;typedef long long ll;const int T = 200000;ll a[T];int main(){ i...原创 2021-07-16 15:59:36 · 258 阅读 · 0 评论