思维
文章平均质量分 72
ACZone
这个作者很懒,什么都没留下…
展开
-
CodeForces - 834C The Meaningless Game 思维
Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting.The game consists of multiple rounds. Its rules are very simple: in each round, a natural number k is chosen. Then, the one who says (or barks) it faster tha原创 2017-07-31 12:04:23 · 362 阅读 · 0 评论 -
CodeForces - 872B Maximum of Maximums of Minimums RMQ
CodeForces - 872B Maximum of Maximums of Minimums RMQhttp://codeforces.com/contest/872/problem/B题意:将一个数组连续的分成k块,每块中取最小值。求这k个最小值中的最大值。题解:①分成一个的情况:就是最小那个,②分成两个的情况:暴力即可,我用了rmq,没在意负数初始化成-1了。。。③k大于3的情况,把最大的那个数分成独立的一组即可。原创 2017-10-15 19:57:26 · 327 阅读 · 0 评论 -
CodeForces - 894C Marco and GCD Sequence 构造+思维
CodeForces - 894C Marco and GCD Sequence 构造+思维题意:有数列a[1],a[2],...,a[n],按照方法gcd(a[i],a[i+1],...a[j]) (i<=j),求出所有gcd放入set。现在反过来已知set,求其中一组可能的数列。题解:比赛时的想法是,①求出所有数的gcd为GCD,一定要等于最小那个数 ,②这个set就是其中的一组解(满足单点gcd)。后来被hack了,数据是1 3 8 12。8和12产生了新的区间gcd。所以应该加入限制,set中每原创 2017-11-24 09:42:43 · 266 阅读 · 0 评论 -
CodeForces - 892C Pride GCD
CodeForces - 892C Pride GCD题意:给你一个数列,有操作:对于相邻两个数,可以替换其中一个数为这两个数的gcd。求多少次操作后该数列全为1,不存在输出-1。题解:可以发现,①只要数列中出现了1,那么对于1相邻的数操作,将相邻的数变为1即可(操作次数是数列中剩下不为1的数)。②数列中不存在1,需要找出1(可能需要多次操作才会出现1),那么对于原数列每个相邻的数求一次gcd,看是否出现了1。若没出现那么对于gcd再求一次gcd,知道只剩一个gcd(操作次数是反复求gcd至出现1的次数原创 2017-11-24 10:06:43 · 305 阅读 · 0 评论 -
CodeForces - 902B Coloring a Tree 思维
CodeForces - 902B Coloring a Tree 思维题意:给你一颗树进行染色,根节点为1。每个节点要求染成颜色xi,对于一个节点进行染色操作,那么它的所有后代都被染成这个颜色。题解:对于节点看它是否与与其父节点同色,若同色就不需要重新染色,若不同就需要进行一次染色操作。原创 2017-12-20 20:03:19 · 457 阅读 · 0 评论 -
CodeForces - 902C Hashing Trees 构造
CodeForces - 902C Hashing Trees 构造题意:给出一颗n层的树。以及从第0层开始给出每层的节点个数。求是否存在同构,若存在输出其中任意两种。题解:可以发现若存在同构:①该节点上一层的节点数大于1,②该节点所在层节点个数大于1。剩下的通过构造即可,代码的root变量是父节点。原创 2017-12-20 20:58:53 · 516 阅读 · 0 评论 -
CodeForces - 898D Alarm Clock
CodeForces - 898D Alarm Clock题意:有n个闹钟,每个闹钟在第ai分钟响起并持续一分钟。如果在连续的m分钟内有至少k个闹钟响起,那么你就必须起床。现在为了不用起床,要求关闭最少的闹钟的数量。题解:进行模拟即可,另开数组存已经开启的闹钟。原创 2017-12-22 09:06:32 · 392 阅读 · 0 评论 -
CodeForces - 899D Shovel Sale 数学+思维
CodeForces - 899D Shovel Sale 数学+思维题意:给你1,2,...,n,现在要求取出一对数相加为x。x需要满足:以最多个9结尾。现在给你n,求这样的数对有几个。*例如,9099算以两个9结尾题解:设题意的x最多以k个9结尾。①先想到要求这个k是多少,可以发现一个特殊的数字5,50,500,...。当n<5时,k=0;当n>=5&&n>50时,k=1;当n>=50&&n<500时,k=2...也就是说x是这一样一个数:Z999......(0<=Z<=8,后面接上k个原创 2017-12-18 20:51:00 · 931 阅读 · 0 评论 -
CodeForces - 899C Dividing the numbers 思维
CodeForces - 899C Dividing the numbers 思维题意:给你1~n连续的n个数。将这n个数分成两拨,要求两拨之差的绝对值k最小。求出这个最小的绝对值,并输出其中的一拨的数字。题解:首先要想清楚这个k非零即一。先将问题分解成两类:奇数和偶数。先看最简单的偶数:由于可以组成如1,n以及2,n-1这样的数对。①如果n%4==0。那么就有偶数组上述数对,直接构造输出即可。k就等于0。②如果n%4!=0。那么两拨分完之后还剩下一个上述数对,那么一拨一个。很容易原创 2017-12-18 21:24:53 · 1032 阅读 · 0 评论 -
CodeForces - 876D Sorting the Coins 模拟+思维
CodeForces - 876D Sorting the Coins 模拟+思维http://codeforces.com/contest/876/problem/D题意:每次执行算法:①每次都是从左向右看,②看到第i个时,如果他是非法的且第i+1是非法的就交换这两个,③最开始先看一遍不做交换。求最后没有可以交换了,需要执行算法几次。现在每次往里面放一个非法的硬币,求每次需要执行上述算法几次(第一次什么都不放)。题解:其实写几个就可以发现,每执行一次算法,非法硬币就有一个会归位到末尾且不再移动。所以原创 2017-10-20 18:47:20 · 386 阅读 · 0 评论 -
CodeForces - 868C Qualification Rounds 思维
CodeForces - 868C Qualification Rounds 思维http://codeforces.com/contest/868/problem/C题意:有n道题目,k支队伍,现在要从n道题中取x道题(x>0)作为比赛题。要求这x道题中,每支队伍所知的题目不超过x/2。求是否存在这样的x。题解:官方的tag给出的是dp。当时我做的时候看到k最大就是4,干脆就暴力了。中间bool没有初始化,wa一发。代码打得好长,ide中间还崩溃了又得重新打。看来得养成ctrl+s的好习惯。大致思路原创 2017-10-05 19:47:29 · 324 阅读 · 0 评论 -
CodeForces - 868B Race Against Time 思维
CodeForces - 868B Race Against Time 思维http://codeforces.com/contest/868/problem/B题意:时针、分针、秒针将钟面分成三块,现在要从a点钟到b点钟是否可达。题解:求出每个针所指的角度范围,然后记得从小到大排序,最后我按照左闭右开去判断是否属于同一块区域。原创 2017-10-05 19:41:05 · 490 阅读 · 0 评论 -
CodeForces - 835C Star sky dp前缀+容斥思想
CodeForces - 835C Star sky dp前缀+容斥思想The Cartesian coordinate system is set in the sky. There you can see n stars, the i-th has coordinates (xi, yi), a maximum brightness c, equal for all stars, and an initial brightness si (0 ≤ si ≤ c).Over time the sta原创 2017-08-01 13:06:42 · 975 阅读 · 0 评论 -
CodeForces - 734C Anton and Making Potions 二分+贪心 思维题
题意:有n件物品要完成,完成每件物品的时间是x。有两种buff。第一种有m个,每个消耗bi法力值,可以使制作时间变为ai。第二种有k个,每个消耗法力值di,可以瞬间完成ci个物品。现在你有s点法力值,每种buff最多只能使用一个。求最少的完成时间。题解:枚举第一种buff,然后二分搜索s-bi。因为第二种buff的法力值和完成件数是升序的,可以直接进行二分。原创 2017-08-09 21:02:57 · 267 阅读 · 0 评论 -
hdu6098 Inversion 2017多校第六场1003 埃氏筛法
题意:对于给定的a数组,求b数组。b数组的第i个是a数组中下标除i倍数以外的最大值。题解:对a数组从大到小排序,并记录下标。然后对下标扫一遍,用筛法效率高一点。直接扫其实也不会超时1000ms左右,注意姿势就行。原创 2017-08-10 19:04:08 · 208 阅读 · 0 评论 -
CodeForces - 439D Devu and his Brother 思维+排序
题意:给出数列a,b。可以对每个数进行操作+1或者-1。求最小的操作数使得a数列的最小值,大于b数列的最大值。题解:首先取出a数列的最小值x与b数列的最大值y进行操作(只是保证满足题意,取min(n,m)对x,y)。最少的操作肯定就是变到同一个数c(c是任意的),那么有ans=(y-c)+(c-x)=y-x。这个最终的c介于这么多对的x,y之间。原创 2017-08-12 15:47:01 · 415 阅读 · 0 评论 -
hdu 6038 Function 循环节
hdu 6038 FunctionProblem DescriptionYou are given a permutation a from 0 to n−1 and a permutation b from 0 to m−1.Define that the domain of function f is the set of integers from 0 to n−1, and the range of it is the set of integers from 0 to m−1.Plea原创 2017-08-05 15:25:20 · 393 阅读 · 0 评论 -
hdu 6106 Classes 2017多校第六场1011签到题 容斥原理
hdu 6106 Classes 2017多校第六场1011签到题 容斥原理题意:已知A课程报了a人,B课程报了b人,C课程报了c人,AB课程都报的ab人,BC课程都报的bc人,AC课程都报的ac人,ABC课程都报的abc人。题解:容斥原理,要注意数据是否合法,画个维恩图就好。原创 2017-08-10 19:16:03 · 625 阅读 · 0 评论 -
CodeForces - 876B Divisiblity of Differences 思维
CodeForces - 876B Divisiblity of Differences 思维http://codeforces.com/contest/876/problem/B题意:给你n个数字,要求在其中选出k个数字,要求这k个数字两两之差能被m整除。题解:这题被hack+大数据不过,好菜啊。每个数对m取余得到x,记录这个x出现的次数,大于k则存在,输出k个a[i]%m==x的a[i]即可。原创 2017-10-18 09:10:57 · 440 阅读 · 0 评论 -
CodeForces - 865A Save the problem! dp+思维
CodeForces - 865A Save the problem! dp+思维http://codeforces.com/problemset/problem/865/A题意:总面值n,以及零钱面值数m:a1,a2,...,am,可以有num种兑换方式。现在反过来告诉你num,求n,m以及a1,a2,...,am。题解:容易发现,零钱面值1和2,可以组成的面值n的兑换方式是最大的。所以只对零钱面值1和2dp即可。原创 2017-10-02 15:58:37 · 518 阅读 · 0 评论 -
CodeForces - 898C Phone Numbers STL
CodeForces - 898C Phone Numbers STL题意:给出n个人,以及每个人的号码,如果号码a是另一个号码b的后缀,那么a就要被删除。题解:STL代码实现,具体看代码实现。原创 2017-12-18 21:45:55 · 523 阅读 · 0 评论