摘要: 就是一种筛法思想的应用。#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#defin... 阅读全文
posted @ 2014-11-06 23:42 周洋 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 这道题直接去构造答案即可。对于l的二进制表示,从右到左一位一位的使其变为1,当不能再变了(再变l就大于r了)时,答案就是l。这种方法既可以保证答案大于等于l且小于等于r,也可以保证二进制表示时的1最多。#include#include#include#include#include#include#... 阅读全文
posted @ 2014-11-06 22:19 周洋 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 这道题可以暴力的一直按要求的方法去做,做1000000次还不能整除m就认为永远不能整除m了(m不超过100000,循环1000000次比较安全了已经)。这种方法可以AC。下面深入的分析一下到底循环多少次就可以确定结果:首先有这样一个规律:(a+b)%c=(a%c+b%c)%c,那么这样其实这道题... 阅读全文
posted @ 2014-11-06 19:09 周洋 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 简单的条件概率题,直接再来一枪没子弹的概率是所有子串”00“的数目除以‘0’的数目,随机转一下再打没子弹的概率是‘0’的数目除以总数目。#include#include#include#include#include#include#include#include#include#include#i... 阅读全文
posted @ 2014-11-01 20:40 周洋 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 概率dp的典型题。用dp[j][i]表示第j个队第i场赢的概率。那么这场要赢就必须前一场赢了而且这一场战胜了可能的对手。这些都好想,关键是怎么找出当前要算的队伍的所有可能的竞争对手?这个用异或来算,从队伍编号的二进制表示中可以看出规律来(从二进制和相关运算里找规律也是一个重要的思考角度)。#incl... 阅读全文
posted @ 2014-11-01 19:41 周洋 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 这个题看上去麻烦,实际上只要想清楚就很简单。关键是要有一种等价转换的思维方式。其实题意就是个一排数,最后通过相邻的互相移动加减使得所有数都变成零,移动过程中每次都耗费相应值,让耗费的值最小。虽然从实际看来只能从负的移给正的,但实际结果谁给谁消耗的都一样。有了这些等价思考,就可以用贪心法做了:第一个数... 阅读全文
posted @ 2014-10-27 00:23 周洋 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 这道题非常好,不仅用到了把复杂问题分解为若干个熟悉的简单问题的方法,更是考察了对贪心法的理解和运用是否到位。首先,如果直接在二维的棋盘上考虑怎么放不好弄,那么注意到x和y无关(因为两个车完全可以在同一条斜线上,这点和皇后问题不一样),那么就可以分别考虑两个一维的问题:这是一种区间选点问题,在每个区间... 阅读全文
posted @ 2014-10-26 18:35 周洋 阅读(1169) 评论(0) 推荐(1) 编辑
摘要: 用中途相遇法的思想来解题。分别枚举两边,和直接暴力枚举四个数组比可以降低时间复杂度。这里用到一个很实用的技巧: 求长度为n的有序数组a中的数k的个数num? num=upper_bound(a,a+n,k)-lower_bound(a,a+n,k);#include#include#incl... 阅读全文
posted @ 2014-10-25 23:52 周洋 阅读(1025) 评论(0) 推荐(0) 编辑
摘要: 这道题构造出的结果很妙,考察思维能力。就两层,每层都n*n个格子,第一层第i行都放国家i,第二层第j列都放国家j。需要注意的是ASCII中A至Z在a至z的前面(数字小),而且它们两组不挨着。所以需要char c(int i)这个函数。#include#include#include#include#... 阅读全文
posted @ 2014-10-25 21:41 周洋 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 这个题没什么算法,就是想出怎么把答案构造出来就行。思路:越大的越放在底端,那么每次就找出还没搞定的最大的,把它移到当前还没定好的那些位置的最底端,定好的就不用管了。这道题要处理好输入,每次输入的一行中是带空格的,以换行符结束一组数据的输入,那么用getline()函数。再用stringstream(... 阅读全文
posted @ 2014-10-25 20:27 周洋 阅读(249) 评论(0) 推荐(0) 编辑