题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5750一道数学+想法的题,看着最大因子,我相信大家第一反应都是和小编一样,d*2,d*3,d*4……但是想到这里就会发现,这种想法肯定是错的,举个例子,33 8 这组数据很明显只有8*2可以,明显8*3,8*4都不可以,那么我们思考,首先是合数,如果一个数是合数,那么这个合数可以分成几个因子
题目链接:http://acm.hdu.edu.cn/showprobl
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5734本来一道很简单的题,我们对居然比赛的时候贡献了5发罚时=.=。题意让我们找到一个数,让所有的数加或减去这个数的平方和最小。既然是求平方和,而且是自己决定是加还是减,那么我们就不用担心正负号了,直接全部变成正的来处理。仔细思考,实际上我们的目的就是把这么多个数通过加减一个数使得它
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5744在多校训练中难得一见的水题,比赛刚刚开始的时候题目还有错,根本看不懂题意,后来题目改了,就变成一道真正的大水题了,题意是说要我们用所有的字符做成多个回文串,然后在所有可能的每一个组合里面最短的回文串在所有的组合中最长是多少。首先显然,如果直接把所有的字符都用上构成一个回文串,那么这
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5776题意就是说在n个数中能不能找到一段连续的子串,使得其和为m的倍数。我们采取的办法就是直接求出所有的前缀和对m取模的值,仔细思考如果两个位置的前缀和相等,那么一定这中间这段和就是m的倍数,举个例子,1~x1的和模m为2,1~x2的和模m也为2,那么一定会有x1~x2的和模m为0.
题目链接:http://codeforces.com/contest/699/problem/B很悲催的一题啊,
题目链接:http://acm.hdu.edu.c
题目链接:http://acm.hdu.edu
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5248题目如果从正面去做的话,很难想到一种有效的贪心策略去处理这个问题(不排除一些大神有特殊的想法),但是反过来,给我们一个答案,我们能够很容易的贪心去判断是否可行,所以我们采取二分答案,再反过来判断是否可行。关于二分答案之后的判断,我们采取的贪心策略就是每一位都尽量的低。#include
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5256题目要求的目标状态是求得最小的调整数使得这个序列变成一个严格递增的序列。仔细思考,如果是让我们求一个不严格的递增序列的话很简单,那就简单了很多,此时最小调整数就是:n-最长不严格递增序列的长度,这个问题很好想,所以如果我们能把这个这个问题转换成求最小的调整数使得这个序列变成一个不严格的递增
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5247我们可以枚举n*n种情况,算出每一种情况里面的最大值和最小值,如果最大值-最小值+1等于枚举的当前情况的长度,那么当前情况就可以构成一个连续数。#include #include #include #include #include using namespace std;co
题目链接:http://acdream.info/problem?pid=1023题意:给一个集合A,一个集合B,问可否存在一个数字C,使得A中所有元素和C做异或运算得到B集合。小编做这道题的时候真的是很幸运,在草稿本上画字典树的时候,打了几个表一下子就被小编发现规律了,在验证的时候也没想太严谨,但是运气好的出奇的一A了。首先,小编发现 一句话,n is odd,起初没有在意这句话,可
题目链接:http://codeforc叉树,一开始每条边的权值都是0,现在给我们两个操作,第一个是讲从点u到点v这条路上的每一条边边权都加上w,第二个操作是询问我们从u到v这条路上的权值和。很显然,如果我们能用一个二维数组来存储两两之间的关系的话,那么问题会非常简单,但是很明显我们是开
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5365题意就是给你几个整点,问你能构成多少个正的三角形、正方形、正五边形、正六边形。一看几何,又看数据不大,果断把两两之间的距离算出来后……就不知道该怎么办了,懵逼的我看了别人的题解,结果上来就是一句地球人都知道整点构不成正三角形、正五边形、正六边形(TT),那么只
题目链接:http://acm.h
题目链接:http://acm.hdu.1) / (va+vb),而第i次慢车被快车追上的时间是s*(2*i-1) / (v块-v慢),但是第i次相交的时候是
题目链接:http://acm.hdu.edu.cn/showproblem.p这组数据心里面想的往往都是把前面n个数插入到后面n个数里面,这样想当然没问题,但是就看不出这其实是一种置换
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5806作为HDU集训队的一员,我很清楚Claris是一位数据结构大师,
几个通信学院的同学问
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5204题意很简单,有两种操作,第一种是在当前所有的数收尾以及两两缝隙之间填上一个数,第二种是查询L,R之间第K小的数。官方题解:这题看起来一副非常厉害的样子。。其实是大水题。 对于一个询问,考虑这个询问前第i次修改操作,那么这次修改操作出现在序列中第一个位置是2i?1。然后在询问范围内最多只有60个数,
题目链接:http://acm.tju.edu.cn/toj/showp4153.html题目很长,但是题意实际上是说……求一个最大上升子序列长度……#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const i
对b[v]整除得到x的a[i]加上一个add。小编直接说优化方法了,对于前一个取模,可以先把结果存在一个c[v
题目链接:http://ac
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号