摘要:
题目 题意:给出一长度为n的数组,问该数组的最长子数组的和不能被x整除。子数组是原数组数组从前或从后删除0个或全部个元素。 解法:首先判断是否所有元素被x整除,则如果是该子数组不存在输出-1,然后判断整个数组的和是否被x整除,如果不能答案为n。如果能从前或从后找到一个不能整除x的元素,删除遍历到的x 阅读全文
摘要:
题目 题意:在一自东向西首尾相连长为L单位的坐标轴上有两只青蛙分别位于X,Y,它们跳一次分别为m,n个单位,问能否相遇,能输出需要跳几次。否输出impossible。 解法: int X , Y , m , n , L , x , y , d; void ex_gcd(int a , int b , 阅读全文
摘要:
[题目](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个列。所以只需判断 阅读全文
摘要:
作者:湖 链接:https://ac.nowcoder.com/discuss/434243?type=101&order=time&pos=&page=1&channel=666&source_id=search_acm_post 来源:牛客网 class BigNum { private: in 阅读全文
摘要:
题目 题意:给出x(2<=x<=62)进制下数z($0<=z<=x^{120}$),输出z的y(2<=y<=62)进制. 可能是受上一题的影响思维定式,一开始一直在想将z整体转为10进制,再将10进制转为y进制,但是失败了。 解法:将x进制a转y进制b,与一般进制转换类似,先转为10进制,然后一直除 阅读全文
摘要:
##判断素数 最简单的判断就是根据素数的定义:只有两个因子1和本身(1不是素数)。时间复杂度O(n) bool is_prime(int x){ if(x == 1) return false; rep(i , 2 , n-1){ if(x % i == 0){ return false; } } 阅读全文
摘要:
题目 平面上存在n(1e15)条直线。请问n条直线在平面上最多存在多少交点。 解法:分析可知数据范围会爆64位但又在128位以内,使用__int128。 __int128有定义但没有输入输出等操作,需要手写。 #include<bits/stdc++.h> #include <cstdio> #in 阅读全文
摘要:
题目 题意:给出一棵树n个结点的树,结点标号1-n,每个结点i具有$a_i$价值,$b_i$起始二进制位(0或1),$c_i$目标二进制位(0或1). 操作:对某一棵子树u的子集任意k个结点进行重组,花费为a[u]*k 问:是否可以使所有结点的二进制位都是目标二进制位,可以则输出最小花费。 解法: 阅读全文