随笔分类 -  常用思想方法

摘要:题意:给定n和a[],令N =∏(1≤i≤n)ia[i],求N的所有约数的积(取模1e9+7)思路:假定N因式分解后的结果是2p1*3p2*5p3*...,如何计算答案呢?单独看2p1这一项,考虑它所有的贡献,它在N的约数里面总共会出现P=(p2+1)*(p3+1)*...次,由于是求乘积,而且2的... 阅读全文
posted @ 2015-10-31 22:56 jklongint 阅读(188) 评论(0) 推荐(0)
摘要:题意:给一个凸多边形,求任选若干点形成的多边形的面积和。思路:按一定方向(顺时针或逆时针)对多边形的顶点进行编号,则多边形的面积计算公式为:f1 x f2+ f2x f3 + ... fn-1 x fn+ fn x f1,fi表示从参考点到i的向量。考虑fix fj 在答案中出现的次数,则答案可以写... 阅读全文
posted @ 2015-09-15 04:46 jklongint 阅读(444) 评论(0) 推荐(0)
摘要:题意:按下列规则生成一组序列,令f(n)为n这个数在序列中出现的最后一个位置,求f(f(n))的值。1. First, write down 1, 2 on a paper.2. The 2nd number is 2, write down 2 2’s (including the one ori... 阅读全文
posted @ 2015-09-15 02:40 jklongint 阅读(581) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068题意:求一个字符串的最长回文子串思路:枚举子串的两个端点,根据回文串的定义来判断其是否是回文串并更新答案,复杂度O(N3)。枚举回文串的对称轴i,以及回文半径r,由i和r可确定一个子串,然后暴力判断... 阅读全文
posted @ 2015-09-03 19:08 jklongint 阅读(664) 评论(0) 推荐(0)
摘要:题意:员工之间形成一棵树,上级可以给下级发奖金,任何一个人最多可以给一个下级发,并且发了奖金后就不能接受奖金。求总共最多可以产生多少的奖金流动思路:每次选择没有下级并且有上级的员工a,令它的上级为b,那么让b给a发奖金,之后把a和b从树中删掉,这样处理直到不存在这样的员工a。也就是说每次让叶子员工接... 阅读全文
posted @ 2015-08-26 17:15 jklongint 阅读(156) 评论(0) 推荐(0)
摘要:题意:给一棵树,每条边有一个权值,求满足u到v的路径上的异或和为s的(u,v)点对数思路:计a到b的异或和为f(a,b),则f(a,b)=f(a,root)^f(b,root)。考虑dfs,一边计算当前点到根的f值,用一个数组记录当前遍历过的点中到根的异或值为i的点的个数,那么答案可以O(1)算出来... 阅读全文
posted @ 2015-08-21 11:16 jklongint 阅读(487) 评论(0) 推荐(0)
摘要:题意:给一个n*m的矩形,每个格子有一个非负数,求一条从(1,1)到(n,m)的路径(不能经过重复的格子),使得经过的数的和最大,输出具体的方案思路:对于row为奇数的情况,一行行扫下来即可全部走完得到最大和,对于col为奇数的情况一列列扫即可。对于行和列全部为偶数的情况,将所有格子进行黑白染色,起... 阅读全文
posted @ 2015-08-19 01:08 jklongint 阅读(169) 评论(0) 推荐(0)
摘要:题意:http://acm.hdu.edu.cn/showproblem.php?pid=5400思路:预处理出每个点向左和向右的最远边界,从左向右枚举中间点,把区间答案加到总答案里面。由与可能与前面的区间重叠,需要减去重复的答案,由于左边界非降,所以重叠的区间长度很容易得到。#pragma com... 阅读全文
posted @ 2015-08-18 23:00 jklongint 阅读(253) 评论(0) 推荐(0)
摘要:题意:m个{1,2...n}→{1,2...,n}的函数,有些已知有些未知,求对任意i∈{1,2,...,n},f1(f2(...(fm(i)))=i的方案总数,为了方便简记为F(i)思路:如果存在一个f,当i!=j时,有f(i)=f(j),那么方案数为0,因为由里到外进行f运算,两个不同的数到这里... 阅读全文
posted @ 2015-08-18 22:52 jklongint 阅读(409) 评论(0) 推荐(0)
摘要:题意:给一个时刻,求时针、分钟、秒针三者之间的夹角思路:确定参照点,求出三者的绝对夹角,然后用差来得到它们之间的夹角,钝角情况用360。减去就行了。#include #include #include #include #include #include #include #include #inc... 阅读全文
posted @ 2015-08-13 17:57 jklongint 阅读(396) 评论(0) 推荐(0)
摘要:题意:十进制的每一位仅由a和b组成的数是“X数”,求长度为n,各数位上的数的和是X数的X数的个数思路:由于总的位数为n,每一位只能是a或b,令a有p个,则b有(n-p)个,如果 a*p+b*(n-p) 为X数,则这种情况的答案就是C(n,p),将所有情况累加起来即可。#include #includ... 阅读全文
posted @ 2015-08-13 09:13 jklongint 阅读(276) 评论(0) 推荐(0)
摘要:题意:两根导线绕在一起,问能不能拉成两条平行线,只能向两端拉不能绕思路:从左至右,对+-号分别进行配对,遇到连续的两个“+”或连续的两个“-”即可消掉,最后如果全部能消掉则能拉成平行线。拿两根线绕一下就理解了,也可以一根拉成直线,另一根围着它绕,然后观察能拉成直线的条件。用栈实现就行。 1 2 3 ... 阅读全文
posted @ 2015-08-12 19:01 jklongint 阅读(288) 评论(0) 推荐(0)
摘要:题意:给若干个阻值为1的电阻,要得到阻值为a/b的电阻最少需要多少个。思路:令a=mb+n,则a/b=m+n/b=m+1/(b/n),令f(a,b)表示得到a/b的电阻的答案,由f(a,b)=f(b,a),有:f(a,b)=a/b + f(a%b,b)=a/b+f(b,a%b)(1)由于将所有的电阻... 阅读全文
posted @ 2015-08-12 16:59 jklongint 阅读(287) 评论(0) 推荐(0)
摘要:题意:S是平面内点的集合,初始为空,每次向集合里面加入一个点P(x,y),询问S内最近点对的距离的平方和思路:设当前集合的答案为D,则找到集合里面横坐标在(x-√D,x+√D)内的数,用它们来更新答案,一边更新答案一边还要更新右边界x+√D,此时的更新注意不要用浮点数开平方算具体右边界,改用判断即可... 阅读全文
posted @ 2015-08-12 15:52 jklongint 阅读(237) 评论(0) 推荐(0)
摘要:题意:给一个数n,找一个正整数x#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace s... 阅读全文
posted @ 2015-08-12 15:06 jklongint 阅读(243) 评论(0) 推荐(0)
摘要:题意:给n个节点的树编号1-n,一个节点唯一对应一种编号,要求编完号的树满足如下性质:所有节点的儿子的编号是连续的,对一棵子树,它包含的所有节点的编号也是连续的。连续的意思是把所有数排序后是一段连续的区间。思路:由于所有子树是连续的,所以可以用区间来表示子树,设要给当前子树编号为[1,n],如果当前... 阅读全文
posted @ 2015-08-12 14:28 jklongint 阅读(234) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5373思路:按题意来即可。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041424344454647... 阅读全文
posted @ 2015-08-12 13:50 jklongint 阅读(165) 评论(0) 推荐(0)
摘要:题意:一个人想邀请n个人出去玩,假设当前同意和他一起去的人数为cnt,那么他去邀请i的时候,i同意的条件是L[i]cnt的,对于第一种已经不可能同意了,因为cnt是递增的,对于第三种现在根本不用考虑,而对于第二种,那么都可以被邀请,且被邀请了一定会同意。明显应该邀请R[i]最小的,因为他们总是比其他... 阅读全文
posted @ 2015-08-07 05:24 jklongint 阅读(298) 评论(0) 推荐(0)
摘要:题意:有n个小朋友,每个小朋友手上有一些糖,考虑每两个相邻的小朋友a、b,可以选择执行3种操作中的任一种:(1)a给b一粒糖(2)b给a一粒糖(3)不进行任何动作,问能否通过确定每两个相邻的小朋友的操作使得最终每个人的糖果数量相等。思路:如果只有1个小朋友,那么肯定是可行的,如果糖果数总和取模小朋友... 阅读全文
posted @ 2015-08-07 05:10 jklongint 阅读(236) 评论(0) 推荐(0)
摘要:题意:直接来链接吧http://acm.hdu.edu.cn/showproblem.php?pid=5358思路:注意S(i,j)具有区间连续性且单调,而⌊log2x⌋具有区间不变性,于是考虑枚举⌊log2S(i,j)⌋的值,然后枚举i,从而能得到j的区间范围,然后统计答案即可。另外这题比较坑,先... 阅读全文
posted @ 2015-08-07 04:26 jklongint 阅读(342) 评论(0) 推荐(0)