17杭电暑假
魂骸
不同阶段看到不同的风景,只有不断努力才会知道自己有多菜。
菜鸡希望大佬多指点0.0 热爱交友欢迎加我QQ983167354,注明备注。
展开
-
HDU6095 Rikka with Competition
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6095题目意思一场n个人比赛,给个数组a表示n个人的实力,当|ai−aj|>K,则ai获胜。否则都可以能获胜。问你a数组里面可能获胜的人数。解题思路对数组排序,从大到小不断比较看是否满足相减小于等于k,如果满足继续比较下组,直到不满足为止代码部分#include<iostream>#includ原创 2017-08-09 09:01:16 · 185 阅读 · 0 评论 -
HDU6129 Just do it (找规律)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6130题目意思有一个长度为n的整数序列a,对其做m次前缀异或和,求最终的序列。解题思路用i表示次数,用j表示位子。那么就可以得到a[i][j]=a[i][j-1]^a[i-1][j](自己写两个不难看出),接着有两种处理: 1. 根据上式可以得到a[1]对后面的异或次数为: 1 1原创 2017-08-16 10:55:48 · 258 阅读 · 0 评论 -
HDU6130 Kolakoski
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6130题目意思给你个kilakoski数列,问你第n个数字是什么。解题思路首先kilakoski是由1,2组成的无序数列,而kilakoski a[i]为数表示的是第i为相同数字的长度。比如(1,2,2),a[3]==2,所以后面(1,2,2,1,1)数字不对交叉。题目给的时间够打表所以打表过就好了原创 2017-08-15 19:26:57 · 940 阅读 · 0 评论 -
HDU 6127 Hard challenge (思维)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6127题目意思给定n个点,每个点都有自身权值,找一条直线,每两个点相连穿过这条直线那么两个点所产生的权值为两点各自权值的乘积。问你最大权值总和是多少。解题思路任意一条直线所产生的权值都等于直线左边点总和*直线右边点权值总和(自己找4个点画画就明白)。初始定条直线。然后把给的点全部按极角排序,根据极角原创 2017-08-21 10:57:15 · 177 阅读 · 0 评论 -
HDU6052 To my boyfriend
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6052题目意思给比个矩阵,矩阵中每个格子都有一个数字,同一数字代表同一种颜色,问你所有子矩阵种颜色个数总和。解题思路对于每个子矩阵含多多少颜色不好判断,所有判断没个颜色占子矩阵个数。而同种颜色判断从上到下,从左到右。没判断完一个位子上所占矩阵个数,就标记,防止下面同种颜色重复计算。代码部分#incl原创 2017-08-07 08:46:17 · 259 阅读 · 0 评论 -
HDU 6055 Regular polygon
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6055题目意思给定n个点问你可以形成多少个正多边形。解题思路因为给定点为整数,所以只能形成正4边形,因此从上往下,从左往右。任意两个点两两判断剩余其余两点是否在给定点中,最后答案除2,因为ab和ba重复计算代码部分#include <bits/stdc++.h>using namespace st原创 2017-08-07 08:55:54 · 128 阅读 · 0 评论 -
HDU6058 Kanade's sum
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6058题目意思给你长度为n的a数组,问你数组a组成的区间第k大的总和。解题思路确定a数组一个元素x,判断x右边是否有k比x大的元素,没有左边补。找到右边第k个比x大的数a[j](或小于k),如果a[j]右边还有y个比x小的数,就多y个区间满足第k大。右边找找完往左找,每找到一个比x大数,右边比x的退原创 2017-08-07 09:50:19 · 206 阅读 · 0 评论 -
HDU 6140 Hybrid Crystals(思维)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6140题目意思给定一些数,有的增加能量,有的减少能量,有的可以增加或者减少能量。问你k个能量能否够组成(L为加,D为减,N为可加可减),(最重要的是这个能量值居然是连续的,明明说了可以偷懒只看后面的,但是这个居然是在上面体现的) 解题思路所以题目就转化成了,初始区间【-1,1】.当假如一个N性水晶的原创 2017-08-21 16:11:46 · 209 阅读 · 0 评论 -
HDU 6143 Killer Names(容斥定理)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6143题目意思姓和名都是n个字母,给m个不同字母来组名字,问你组成姓和名没有相同字母方案数解题思路把字母分成2部分,一部分来组姓一部分来组名,也就是i从1到m-1种分法每次有c(i,m)选法,接着只要考虑i个字母在n个位置有多少种放法,,每个位置是i个放法。为了不和前面取出来方法数重复每个字母都用到原创 2017-08-21 17:00:10 · 205 阅读 · 0 评论 -
HDU6063RXD and math
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6063题目意思公式题:不弄题目了。解题思路考莫比乌斯函数,最终答案等于n^k取模,用整数快速幂跑。代码部分#include <bits/stdc++.h>using namespace std;const int N = 1e6+7;typedef long long ll;const l原创 2017-08-07 11:17:47 · 224 阅读 · 0 评论 -
HDU6124 Euler theorem
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6124题目意思告诉你本来想求a mod b,发现b不知道了,问你给定a有多少a mod b不同的结果解题思路当b大于a时,mod注定是a本身。当(a-1)/2代码部分#include<bits/stdc++.h>using namespace std;int main() ///不用怀疑就原创 2017-08-15 19:12:29 · 339 阅读 · 0 评论 -
HDU 6168 Numbers(数列,思维)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6168题目意思有一个长度为n的a数组,由a数组任意两项相加的和得到b数组,现在a,b数组混合起来了,给你混合的m个元素。求原本的a数组长度和原本a数组的元素。解题思路由于b数组是由a数组相加得到的,所以最小两项一定是a数组,把混合数列去除a[1],a[2]和a[1]+a[2],接着加入第3小项,去除原创 2017-08-23 16:30:07 · 236 阅读 · 0 评论 -
HDU 6165 FFF at Valentine(强连通缩点)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6165题目意思给你一张有向图,问你图中任意两点是否相通(只要AB之间有一条路就可以了)解题思路两种解法:1.利用搜索查询每个点能到达的其他点,最后判断任意两点之间是否有路就可以了 2.使用强连通缩点,也就是把图中的环看做一个点(环的任意两点是可以到达的),然后建立新图根据出入度来判断新图任意两点是原创 2017-09-10 20:02:46 · 205 阅读 · 0 评论 -
HDU6170 Two strings(动态规划)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6170题目意思有两个字符串,问你第二个字符串和第一个字符串能否匹配,第二个字符串有两种符号,’.’可以匹配任意字符,’*’表示前一个字符可以重复零次或多次(0次也就是删除前一个字符)解题思路用dp[i][j]来表示b串第i个字符和前j个字符是否匹配。 当第i个字符为。时。由于‘。’可以匹配任意字符原创 2017-09-10 21:27:58 · 171 阅读 · 0 评论 -
HDU6047 Maximum Sequence
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6047题目意思给你两个数组a,b。没个数组都有n个元素,接着求a【n+1】到啊【2*n 】,而a[i]=max{a[j]-j},b[k]解题思路根据题目可以知道每次a组值因为不断求出新的ai值而改变,所以设个dp数组存储区间的最大值,还有b数组限制着j能取的范围,而b数组的值的选择可以从小到大选,原创 2017-08-06 17:27:43 · 225 阅读 · 0 评论 -
HDU 6045 Is Derek lying?
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6045题目意思两个人在答题,答对得一分,现在A给你n,x,y。分别代表n道题,A和B的得分,最后给你两个字符串代表AB的每题答案是什么。问你给出的答案是否可能出现。输出A是不是说谎了解题思路如果两人不同答案小于两人的分数差或两人相同答案数小于两人分数和减题目数。都是说谎了其他都是没说谎代码部分#incl原创 2017-08-06 16:45:57 · 193 阅读 · 0 评论 -
HDU6090 Rikka with Graph
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6090题目意思在一个无向图中,给你n个点和m条边。每个点到其他点权重为所走过的边的个数,无法到达的点权重为n。问你全部权重总和。解题思路当m=n-1时,正好将可以n点全部链接。而要使权值最小也就是选个中心点其他点都先与中心点相连。总权重等于(n-1)*(n-1)*2当m>n-1时把除中心点其他任意两原创 2017-08-09 09:44:28 · 171 阅读 · 0 评论 -
HDU 6092Rikka with Subset
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6092题目意思T组测试,接下来一行n和m,下面一行m+1个数字代表B(0~m)求A序列,Bi 代表A序列中的所有子集之和为i的有Bi个,A序列总和为m,n个元素; 解题思路一个0 1背包问题,有空子集等于1可以得出初始值dp【0】=1;然后根据b数组和为i个数-dp中由小数子加和为的个数得出a数组中原创 2017-08-09 10:51:23 · 204 阅读 · 0 评论 -
HDU6121 Build a tree(树+异或)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6121题目意思有一棵n个点的有根树,标号为0到n-1,i号点的父亲是i-1/k号点,求所有子树大小的异或和。(也就是建立一棵k叉树)解题思路性质:一棵满k(k>1)叉树所以子树大小异或和等于数的深度。 根据性质可以把题目分两种情况: 1.当k=1时候,由于k==1时候不满足性质要单独提出,而k原创 2017-08-16 19:35:38 · 347 阅读 · 0 评论 -
HDU 6035 Colorful Tree
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6035题目意思给你n个点,每个点都会用一个数字代表一种颜色,之后给你(n-1)相连的条路,问你n总共形成的n*(n-1)/2条路每路经过的颜色的个数的总和(1到2,2到3,1到3是3条路。所以n个点能形成n*(n-1)/2条路)解题思路首先题目意思可以转化成每种颜色经过的路的条数总和,有可以转化成全部的原创 2017-08-01 20:18:31 · 227 阅读 · 1 评论 -
HDU 6034 Power!
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6034题目意思题目大意为:给你一个n,后面有n个字符串,字符串每个字母对应0到25之间的一个数,问你这些字母分别等于多少时候字符串代表的值总和最大(相当于25进制)。而且在字符串不能能有前导0出现。(数值过大对10^9+7取余)解题思路不考虑统计没个字符在权位谁高谁低,然后就从25排到0就好了,但是他又原创 2017-08-01 19:55:29 · 201 阅读 · 0 评论 -
HDU 6033 Add More Zero
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6033题目意思一个简单的问题,给你一个m问你2的m次方是几位数。解题思路一开始还用整数快速幂来跑,后来发现直接用对数就可以轻松简单的得出答案,恩就是这样。代码部分#include <bits/stdc++.h>using namespace std;int main(){ int i=1,原创 2017-08-01 19:33:09 · 177 阅读 · 0 评论 -
HDU 6069 Counting Divisors
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6069题目意思给你了l,r,k。问你i从l到r,i^k因子个数的总和解题思路根据约数个数定理:n=p1^a1×p2^a2×p3^a3*…*pk^ak,n的约数的个数就是(a1+1)(a2+1)(a3+1)…(ak+1).(p为质数) 若i=p1^a1×p2^a2×p3^a3*…*pk^ak,则i^K=原创 2017-08-04 15:54:21 · 163 阅读 · 0 评论 -
HDU 6078Wavel Sequence
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6078题目意思给定两个数组问你同时满足波浪的波浪数。不理解可以看题目提示部分解题思路首先从a数组一个个往下查询b数组是否有相同数字。在查询新的数字时候就要判断前面是否有可以与新加的数字组成波浪的,而当新加数比前面的数大时候就可以添加前面数字为波谷的情况下,而自己添加后处在波峰的位子(如前面有的1 3,现原创 2017-08-04 17:04:04 · 602 阅读 · 0 评论 -
HDU 6075 Questionnaire
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6075题目意思给你个n,接着n个数字,请输出一个m,一个k。当n个数字里对m取mod正好等于k的个数大于等于半数的情况(mk有多少输出其中一组)解题思路就一思维题,如果m为2的时候k就只剩1或0可以选择了,这个时候题目就变成n里面偶数多还是奇数多了。代码部分#include<bits/stdc++.h>原创 2017-08-04 17:22:43 · 207 阅读 · 0 评论 -
HDU 6103Kirinriki
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6103题目意思给出一串字符串,从中选出两个不重叠的字符串,使得两个字符串的距离和 <= m 的最长字符串长度,A,B 串中的字符距离计算为 disA,B=∑i=0n−1|Ai−Bn−1−i|解题思路看到这题时一开始想用的dp做后来,后来实在是想不出来动态转移方程(太菜没办法)后来发现直接用尺取就可以原创 2017-08-12 10:23:56 · 207 阅读 · 0 评论 -
HDU6106 Classes
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6106题目意思给出选 A,B,C,AB,AC,BC,ABC 课程的学生,其中 AB 是 A 和 B 都选….,确定该班级的人数,给出的数据中有一些数错误的,但保证一组正确答案,输出最多的班级的人数解题思路根据ABC的人数可以推出只选AB,AC,BC的人数,在根据前面4个可以推出只选A,B,C,的人数原创 2017-08-12 11:14:11 · 221 阅读 · 0 评论 -
HDU6098 Inversion
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6098题目意思给你一个长度为n的数组a;求数组b,数组bi满足i不是a数组下标的因数的最大值。解题思路用个结构体存储数组a,存储a的数数值和下标,然后根据a的数值排序,b数组从最大值开始往小的找,直到找到满足条件的一个为止。代码部分#include<bits/stdc++.h>using name原创 2017-08-12 11:47:32 · 222 阅读 · 0 评论 -
HDU 6043 KazaQ's Socks
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6043题目意思给你n双袜子,编号从1~n,每天穿编号最小的一双,当穿到最后一双时,把前面袜子都洗了,然后再按编号最小的开始穿。问你第k天穿的编号是多少。解题思路可以发现除了第一轮是n双袜子,之后都是n-1双袜子在轮,而没两轮最后一天正好是穿最大编号和第二大编号。所以直接把(k-n)%(n-1)看是否有余原创 2017-08-05 17:57:10 · 199 阅读 · 0 评论 -
HDU 6105 Gameia(树+博弈)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6105题目意思给出一棵树,Alice 和 Bob 轮流操作, Alice先手, Alice的操作是选一个未染色的点将其染成白色,Bob的操作是选一个未染色的点将其染成黑色,并且和这个点有直连边的点也被强制染成黑色(无论这些直连点之前是否有颜色),Bob还有一个小技能是去掉一条边,最后当所有点都有颜色原创 2017-08-12 15:32:51 · 314 阅读 · 0 评论