随笔分类 - 思维
HDU 5777 domino (排序,水题)
摘要:题意:小白在玩一个游戏。桌子上有n张多米诺骨牌排成一列。它有k次机会,每次可以选一个还没有倒的骨牌,向左或者向右推倒。每个骨 牌倒下的时候,若碰到了未倒下的 骨牌,可以把它推倒。小白现在可以随意设置骨牌的高度,但是骨牌高度为整数,且至少为1,并且 小白希望在能够推倒所有骨牌的前提下,使所有骨牌高度的
阅读全文
HDU 5776 sum (前缀和)
摘要:题意:给定 n 个数,和 m,问你是不是存在连续的数和是m的倍数。 析:考虑前缀和,如果有两个前缀和取模m相等,那么就是相等的,一定要注意,如果取模为0,就是真的,不要忘记了,我当时就没记得。。。。 代码如下:
阅读全文
CodeForces 702B Powers of Two (暴力,优化)
摘要:题意:给定 n 个数,问你从有多少下标 i < j,并且 ai + aj 是2的倍数。 析:方法一: 从输入开始暴力,因为 i < j 和 i > j 是一样,所以可以从前面就开始查找,然后计数,用个map就搞定,不过时间有点长,接近两秒。 方法二: 先排序,然后暴力,暴力的原则是找前面的,也是用m
阅读全文
HDU 4588 Count The Carries (数学,计数)
摘要:题意:给定两个十进制数,求二进制中,从x加到y的二进制进了多少位。 析:把这些数字的二进制纵向罗列出来,然后一位一位的把和加起来,最终得到总的进位数。从1到x,第i位上1的总数是x左移i+1位再右移i位后得到的, (在第 0位上,1和0以1010101010的周期出现,并且每个周期一个1,在第1位上
阅读全文
HDU 3363 Ice-sugar Gourd (贪心)
摘要:题意:给你一个串,串中有H跟T两种字符,然后切任意刀,使得能把H跟T各自分为原来的一半。 析:由于只有两个字母,那么只要可以分成两份,那么一定有一段是连续的。 代码如下:
阅读全文
CodeForces 288C Polo the Penguin and XOR operation (位运算,异或)
摘要:题意:给一个数 n,让你求一个排列,使得这个排列与0-n的对应数的异或之最大。 析:既然是异或就得考虑异或的用法,然后想怎么才是最大呢,如果两个数二进制数正好互补,不就最大了么,比如,一个数是100,那么我们只要找11,(都是二进制) 这不就正好么,一试,果然是这样。就是这样找,而且两两正好配对,如
阅读全文
CodeForces 288B Polo the Penguin and Houses (暴力或都快速幂)
摘要:题意:给定 n 和k,n 表示有n个房子,然后每个有一个编号,一只鹅要从一个房间中开始走,下一站就是房间的编号,现在要你求出有多少种方法编号并满足下面的要求: 1.如果从1-k房间开始走,一定能直到 1。 2.如果从k+1到n 开始走,一定走不到 1. 3.如果从 1 开始走,那么一定能回到1,并且
阅读全文
CodeForces 289B Polo the Penguin and Matrix (数学,中位数)
摘要:题意:给定 n * m 个数,然后每次只能把其中一个数减少d, 问你能不能最后所有的数相等。 析:很简单么,首先这个矩阵没什么用,用一维的存,然后找那个中位数即可,如果所有的数减去中位数,都能整除d,那就是可以,并且记录数据。 代码如下:
阅读全文
CodeForces 346A Alice and Bob (数学最大公约数)
摘要:题意:有一堆数,然后有两个人轮流从中取出两个数,这两个数的差的绝对值不在这个集合,然后把这个数放进这个集合,如果哪个人不能拿了,就是输了,问你谁赢。 析:当时连题意都没看好,以为拿出两个数,就不放回了,如果好好分析第三组样例,就不会看成这样了。 思路应该是这样的,既然是拿了再放差的绝对值放进去,那么
阅读全文
CodeForces 342A Xenia and Divisors (水题)
摘要:题意:给定 n 个数(小于等于7),让你把它分成 m 组,每组有三个数,且满足,a < b < c,并且 a 能整除 b,b 能整除 c。 析:对于这个题,因为题目说了是不大于7的,那么一想不就三组数么,124,136,126.就这三组,然后确定每一组的数量,首先只有第二组有3,那么第二组的数量就确
阅读全文
CodeForces 518A Vitaly and Strings (水题,字符串)
摘要:题意:给定两个相同长度的字符串,让你找出一个字符串,字典序在两都之间。 析:这个题当时WA了好多次,后来才发现是这么水,我们只要把 s 串加上,然后和算数一样,该进位进位,然后再和 t 比较就行。 代码如下:
阅读全文
UVa 11925 Generating Permutations (构造法)
摘要:题意:给定一个序列,让你从一个升序列变成该序列,并且只有两种操作,操作1:交换前两个元素,操作2:把第一个元素移动到最后。 析:一开始的时候吧,不会,还是看的题解,首先是要逆序来做,这样可能好做一点,那么操作1不变,操作2变成把最后一个元素放到最前面。 就像是冒泡排序一样,如果第一个元素大于第二个,
阅读全文
UVa 10881 Piotr's Ants (等价变换)
摘要:题意:一个长度为L的木棍上有n个蚂蚁,每只蚂蚁要么向左,要么向右,速度为1,当两只蚂蚁相撞时, 它们同时掉头。给定每只蚂蚁初始位置和朝向,问T秒后,每只蚂蚁的状态。 析:刚看到这个题时,一点思路也没有,怎么做啊,难道又要模拟么,一想,模拟。。。天呐,好麻烦! 最终还是看了一下题解。真是很巧妙哪。 首
阅读全文
UVa 10970 Big Chocolate (想一下就AC了)
摘要:题意:给你一个m*n的巧克力,让人把它切成1*1的,但是每次只能切一下,问要切多少刀。 析:简单啊,我就不明白了 怎么那么多人TLE了,不会当DP做了吧,其实不用的。 假设有一个1*m的巧克力,很明显知道是切m-1刀,那么再把n把变成1,要n-1刀,加起来就OK。 代码如下:
阅读全文
LA 3213 Ancient Cipher (水题,转化)
摘要:题意:给定两个长度相同的字符串,判断它们之间是否存在一一对应关系,顺序不定。 析:刚开始没看到顺序不定,然后写完没胡把样例看完就交了,结果WA了一次。。。其实这是一个水题,既然顺序不定,那么更简单,我们只要统计两个串中每个字母出现的次数,然后再排序(从大到小还是从小到大无所谓),只要它们的次数对应相
阅读全文
UVa 11636 Hello World! (水题思维)
摘要:题意:给你一个数,让你求需要复制粘贴多少次才能达到这个数。 析:这真是一个水题,相当水,很容易知道每次都翻倍,只要大于等于给定的数就ok了。 代码如下:
阅读全文
UVa 11384 Help is needed for Dexter (递归)
摘要:题意:给定一个n表示1到n的序列,让你用最小的步数把这个序列都变为0,每个操作可以从序列中选择一个或多个个,同时减掉一个正整数,求最少的步数。 析:一看这个题,感觉挺高深的,但是静下心来想想,其实挺简单。和二分思想有点像,你可把n/2到n的数减掉一个数,变成和前n/2个是一样,然后重复操作,直到全为
阅读全文
LA 3708 && POJ 3154 Graveyard (思维)
摘要:题意:在周长为10000的圆上等距分布着n个雕塑,现在又加入m个,现在让m+n个等距分布,那就得移动一些原有的雕塑,问你移动的最少总距离是多少。 析:首先我们可以知道,至少有一个雕塑是可以不用移动的,那么我们以那修个没有移动的雕塑为原点建立坐标。现在问题就转化为把剩下的移动到离它最近的位置(这个位置
阅读全文
SGU 169 Numbers (找规律)
摘要:题意:中文题,直接忽略。。。 析:先说说我的思路,我一看这个题第一感觉就是要找规律,要是挨着算,猴年马月都跑不完,更何况时间限制是0.25s,怎么找规律呢,我算了一下前10位,分别是8,1,1,3,1,1,4,1,1,3,然后我就觉得应该是113114循环再加一第一位是8,果然AC了。 然后结束后我
阅读全文
浙公网安备 33010602011771号