-
给一个字符串,问这个字符串中是否26个字母都出现过(大小写只出现一个就算出现过) 开个布尔数组,扫一遍即可。 嘛,做两道水题放松下== 反正也是要清的。 /************************************************************************* > File Name: code/cf/#295/A.cpp > Author: 111qqz > Email: rkz2013@126.com > Created Time: 2015年08月17日 星期一 04时05分12 …
Read More -
先预处理出来比小于等于n的素数的个数和回文数的个数... 素数不筛竟然也可以过 然后暴力就好. 需要注意的是,比值并不单调,找最大的n,可能之前某个数开始不满足条件,之后又有满足条件的了. 我们可以倒着扫来找,第一个满足条件的就是最大的. /************************************************************************* > File Name: code/cf/#315/C.cpp > Author: 111qqz > Email: rkz2013@126.com > Created Time: 2015年08月11日 星期二 00时54 …
Read More -
给一个有序序列,问对于没一个数,和它相差最少和最多的数的位置。 /************************************************************************* > File Name: code/cf/#314/A.cpp > Author: 111qqz > Email: rkz2013@126.com > Created Time: 2015年08月06日 星期四 00时01分51秒 ************************************************************************/ …
Read More -
快要炸了.. tle成狗 因为是tle,看了下自己没有写cin cout,估计就是算法的问题... 我是先存了二进制的每一位到数组,然后扫一遍... 嗯,这都tle... 那我不存不扫,直接记录当前二进制位和之前二进制位.. logn的复杂度总可以了吧啊? 还TLE.......... 嗯,其实已经发现 n是小于等于1e18的,没开long long 但是一位没开long long 会是wa...就没理... 之后实在黔驴技穷,改了下,竟然过了... 然后想明白了. 因为存二进制的时候有一个while 没开long long 的话就炸了,不知道读进去的是什么,while就出不来,于是就tle了.T T 果然太年轻. 1 2 3 4 …
Read More -
B. Kolya and Tandem Repeat time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Kolya got string s for his birthday, the string consists of small English letters. He immediately added k more characters to the right of the string. Then Borya came and said that the …
Read More -
http://acm.hdu.edu.cn/showproblem.php?pid=5311 题意:问能否从一个给定的字符串中拿出三个不相交的字串(原串可以有剩余),组成字符串“anniversary” 思路:暴力。 比赛的时候没做出来,sad 我发现我有一个问题,就是不敢跑暴力 有不少题其实正解就是暴力 或者有的题,暴力不是标解,但是绝对可A,可我就不敢写... 就觉得不会是这样.. 说到底还是不自信吧... 思路是枚举两个间隔点,将 string tar="anniversary"分成三个不为空的部分 然后在给的字符串中按顺序查找这三部分 如果都能找到,直接YES 如果任何一种间隔的分段都无法YES …
Read More -
http://poj.org/problem?id=3279 反转类问题. 有N*M个方格,每个上面有数字0或者1 操作一个方格,这个方格即其相邻的四个方格(有公共边)会改变状态(由0变1或者由1变0) 问至少需要多少次操作,所有的状态都为0 如果有多组,输出字典序小的那一组. 跟开关灯的那题相似. 因为每个开关灯的动作还影响其他相邻灯的状态.所以对于这种题,一般思路是,先定住一部分,再由已知定住的这部分去确定其他部分. 对于这道题而言 首先我们可以很容易发现,操作数为偶数和为0是等价的. 操作数为1和为奇数是等价的. 对于这道题而言,我们可以首先枚举第一行的状态,一共有 2< 然后如果 a[i-1][j]为1,因为i-1行的 …
Read More -
http://codeforces.com/contest/558/problem/C 题目大意是说,给定N个数,可以对任意数进行任意次两种操作,×2,和/2(整除) 问最少操作多少次,可以让所有数相等。 嘛,前半个小时A掉了前两个提,d E貌似都是线段树。。并不会。。。就一直搞C。。。。 然而并没有做出来。位运算是什么神奇的黑魔法。 转载一份题解:http://blog.csdn.net/qq_24451605/article/details/46906813 思路是声明两个数组,一个数组表示到达i的步数,另一个数组表示n个数中能够达到i的数的个数(包括本身) 1 2 …
Read More -
http://codeforces.com/problemset/problem/548/B 比赛的时候不懂为什么就没做出来.... 其实很容易想到一个o(q*(n+m))的做法... 就是每次更新,要同时更新当前更新行的最大连续和....O(m)可以完成...然后在O(n)扫一遍,找到所有行中的最大值。 然后需要注意的是,在第一次更改之前就要把每个行的最大值处理出来l.. 然后cf机器真是够快,O(nmq)的1.2S过。。。。 1 2 3 4 5 6 7 8 /* *********************************************** 9Author :111qqz 10Created Time :2016 …
Read More