codeforces
codeforces
_Yuh_
...
展开
-
B. Flip the Bits
思路: 判断a与b是否相等,如果相等输出YES,否则,先求出串a中0(或1)的个数的前缀和,从n-1到0遍历,当反转的次数(反转次数初始为1)是奇数且a[i]!=b[i],如果sum[i]!=i-sum[i]+1(判断从0~i 1和0的个数是否相等)flag=0,结束循环;否则反转次数加一。当反转的次数是偶数且a[i]==b[i],在进行类似上面的判断。最后如果flag等于1就输出YES,否则输出NO。#include <iostream>#include <cstdio>..原创 2021-04-09 09:35:21 · 201 阅读 · 0 评论 -
B - Different Divisors
题意:求一个数,这个数至少有4个除数,且每个除数的差至少是d。思路:每个数的除数肯定包含1,那么就从1开始找一个素数且这个素数与1的差至少是d,然后将目前的数更新为这个素数,再从这个素数+d开始,再找一个素数,且两数之差大于等于d。假设找到的第一个素数是a,第二个是b,答案就是a*b。#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <.原创 2021-01-21 10:38:44 · 470 阅读 · 0 评论 -
Shovels and Swords
题目链接这个题我是找规律做出来的,自己写了很多组数据,发现如果a,b的最小值比a-b的绝对值大 ,那么ans = (n+m)/3;否则ans = min(a,b);(本人比较菜,没什么好的方法)#include <bits/stdc++.h>#define ll long longconst int INF = 0x3f3f3f;const int MAX = 1e5+10;using namespace std;int main(){ ll t,n,m; ci原创 2020-06-12 17:18:01 · 201 阅读 · 0 评论 -
New Theatre Square(codeforces+贪心)
#include <bits/stdc++.h>#define ll long longusing namespace std;int main(){ int t,n,m,cost1,cost2; char pave[1050][1050]; cin>>t; while(t--){ cin>>m>>n>>cost1>>cost2; for(int i=0; i<原创 2020-05-29 15:25:10 · 215 阅读 · 0 评论 -
A. Orac and Factors(codeforces)
Orac and Factors题目的意思是最小因子数加和。如果是偶数最小因子就是2,加上k*2,否则从2循环到最小的可以被n整除的数,然后n+=n,跳出循环,再加上(k-1)*2.代码如下#include <bits/stdc++.h>#define ll long longusing namespace std;int main(){ ll n,k; int t; cin>>t; while(t--) { ci原创 2020-05-20 18:10:28 · 248 阅读 · 0 评论 -
C. Board Moves(codeforces)
You are given a board of size n×n, where n is odd (not divisible by 2). Initially, each cell of the board contains one figure.In one move, you can select exactly one figure presented in some cell and move it to one of the cells sharing a side or a corner原创 2020-05-20 19:30:40 · 297 阅读 · 0 评论