随笔分类 - a比赛
摘要:解法:枚举 #include <bits/stdc++.h> typedef long long ll ; #define int ll using namespace std ; int quickpow(int a,int b,int mo){int s;for(s=1;b;b>>= 1,a=a
阅读全文
摘要:题目 A题意:给出x,y,n.求不大于n,且mod x = y的最大值. 解法:通过除法向下取整找到最大的数mod x = 0,再加上y. void solve(){ int x , y , n ; cin >> x >> y >> n ; cout << (n-y)/x*x+y << endl;
阅读全文
摘要:题目 A题意:两家商店卖相同产品但售卖方式不同,第一家零售一件一件卖价格为a元,第二家b(b>=2)件一起卖(如果要买得话就得向上取整)c元,问在第一家商店买多少会比第二家便宜, 在第二家商店买多少会比第一家便宜。答案至少买一件否则输出-1. 解法:首先考虑第一家商店买:如果a>=c,无论如何买都无
阅读全文
摘要:题目 A题意:给出一个n条边的正多边形可以任意旋转,问能否使至少一边平行x轴,一条边平行y轴。 解法:该图形得关于x轴和y轴对称能像正方形一样被4等分,所以是4得倍数。 void solve(){ int n ; cin >> n ; if(n%4==0){ cout << "YES" << end
阅读全文
摘要:题目 A题意:定义一个自然数,若它的质因数至少是两重的,则称为漂亮数,若相邻两个自然数都是“漂亮数”, 就称它们为“孪生漂亮数”。输出[n,m]区间所有孪生漂亮数。 解法:类似质因数分解,如果存在某一质因数判断该质因数是否是两个以上。 int n , m ; bool eluer(int x){ r
阅读全文
摘要:题目 A题意:1到n中任选两个不同的数,gcd最大为大少。 解法:假设最大公约数为g,两个数不同所以两个数分别为g,2g.所以g=[\(\frac{n}{2}\)] void solve(){ int n ; cin >> n ; cout << n/2 << endl; } B题意:给出一个2n数
阅读全文
摘要:题目 A题意:给出两个数a、b,两种操作a+=b , b+=a , 问最少几次操作使得max(a,b) > n. 解法:假定a>b,一直进行,a为a+b的和,b为原来的a,这样形成的是裴波纳妾数列。 void solve(){ int a , b , n , cnt = 0; cin >> a >>
阅读全文
摘要:题目 题意:n张桌子排成一排,1字符代表该桌子有人,0字符代表空桌,相邻两个人之间的距离不能少于k。 给出一组字符数组表示当前n张桌子的状态(保证该状态符合题意),问n张桌子还能最多坐几人。 解法:以边界和‘1’为分界线,考虑每一段连续空桌数目可坐几人. const int maxn = 2e5+9
阅读全文
摘要:题目 题意:给出一长度为n的数组,问该数组的最长子数组的和不能被x整除。子数组是原数组数组从前或从后删除0个或全部个元素。 解法:首先判断是否所有元素被x整除,则如果是该子数组不存在输出-1,然后判断整个数组的和是否被x整除,如果不能答案为n。如果能从前或从后找到一个不能整除x的元素,删除遍历到的x
阅读全文
摘要:[题目](https://codeforces.ml/contest/1366/problem/A) A题意:两个数a和b,两种操作:1、a减2和b减1。2、a减1和b减2.问最多可以进行多少次操作。 解法:1、如果a>=2b,此时一直进行1操作,最多可操作b次。 2、如果a<2b,a>b,此时1和
阅读全文
摘要:题目 A题意:n个瓶子排成一排,给出瓶子容量a[i],初始瓶子为空。m次操作:每次向x瓶中加入y容量的水,如果瓶子水有多则将多的水倒入下一个瓶子。 问:最终每一个瓶子里的水量。 解法:以前做这题的思路是模拟每一次加水并将多的水倒入下一水瓶。代码写的很烂。 现在重新回顾这题思路就是,先不管瓶子容量直接
阅读全文
摘要:题目 A题意:给出一个n*m的棋盘,初始每个格子为0或1.现在Ashish(先手)和Vivek玩一个游戏,都采取最优策略,判断谁赢 规则:双方轮流在方格为0且该方格的行列上都没1,才可放1.最终不能放1的一方失败。 解法:分别统计行和列上没有1的数量,因为每放一个1都会消耗1行和1个列。所以只需判断
阅读全文

浙公网安备 33010602011771号