题意: 有N个学生.有M题目 然后相应N行分别有一个二进制和一个整数 二进制代表该同学给出的每道题的答案.整数代表该同学的答案与标准答案相符的个数 要求推断标准答案有几个,假设标准答案仅仅有一种.则输出标准答案 思路: 非常easy想到状态压缩.可是非常明显1<<30纯粹的状压是会超时的,那么我们能够优化一半,变成1<<15 也就是说,对于一个串,我们分半处理 首先处理前一半,讨论前一半与标准答案相符的状况.然后再讨论后半串,看与标准答案相符的情况能不能与前一半相匹配,从而算出答案…
K - 4 Values whose Sum is 0 Crawling in process... Crawling failed Time Limit:9000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVA 1152 Appoint description: System Crawler (2015-03-12) Description   The SUM problem c…
题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11674&courseid=0 题目大意: N个学生M道题(1<=N<=12,1<=M<=30),每道题只有正误两种选项(0 1),每个学生的答题情况和正确题数已知,求标准答案可能有多少种. 如果标准答案只有一种则输出标准答案,否则输出解的个数. 题目思路: […
一.理论基点 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black-Tree)的NavigableMap实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的Comparator进行排序,具体取决于使用的构造方法. HashMap的值是没有顺序的,它是按照key的hashCode来实现的,对于这个无序的HashMap我们要如何实现排序呢? 参照TreeMap的v…
题意: 有一个函数f(y, k) = y的每个十进制位上的数字的k次幂之和 给x, k 求 有多少个y满足 x = f(y, k) - y 思路: (据说这叫中途相遇法?) 由于 x >= 0 所以 显然y最多也不会超过10位数 把一个数拆成前5位 和 后5位 即找有多少对(a, b)满足 x = a + b 把所有的后五位预处理出来,然后再找前五位. 找的时候用二分,mapT了..可能组数太多了吧. 具体看代码 + ; LL num[maxn]; int x, k; LL p[][]; LL…
第一天 基础算法&&数学 day1难度测试 如果要用一个词来形容上午的测试,那真是体无完肤.  成绩: 题目 成绩 评价 T1 50 一般 T2 10 大失所望 T3 0 差 基础算法 递推 :指通过观察.归纳,发现较大规模问题和较小规模问题之间的关系,用一些数学公式表达出来,在一些教材中,也称为计数DP.递推的模型最主要有:斐波那契数列,卡特兰数,bell数,错排等等. 递归 :所谓递归,是指函数"自己调用自己"的一种编程方法,在解决一个问题时,如果发现问题能拆解为一…
NOIP2018提高组金牌训练营——搜索专题 1416 两点 福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”.基础级别的时候是在一个n×m单元上玩的.像这样: 每一个单元有包含一个有色点.我们将用不同的大写字母来表示不同的颜色. 这个游戏的关键是要找出一个包含同一颜色的环.看上图中4个蓝点,形成了一个环.一般的,我们将一个序列 d1,d2,...,dk 看成一个环,当且仅当它符合下列条件时: 1.    这k个点不一样,即当 i≠j时, di 和 dj不同. 2.    k至少是4. 3.  …
uva 6757 Cup of CowardsCup of Cowards (CoC) is a role playing game that has 5 different characters (Mage, Tank, Fighter,Assassin and Marksman). A team consists of 5 players (one from each kind) and the goal is to kill amonster with L life points. The…
hdu-5933 思路: 贪心,首先要求总和是k的倍数,而又要求相邻,说明相邻的一块如果是sum/k的倍数,那么就地切割这样才能使操作数目最少; hdu-5934 思路: 强连通分量,可以找出强连通分量后缩点,然后选入度为0的引爆就是最小; hdu-5935 思路: 贪心,要求速度递增,那么从后往前贪心,记录最大速度的分子和分母,避免精度误差; hdu-5936 思路: 中途相遇法+二分,这是中途相遇法的方程模型,可以枚举5位数,然后记录数目,排序后二分累加结果;注意y>0; hdu-5938…
UVa 11572 - Unique Snowflakes 问一个数组中,无重复数字的最长子串长度是多少. 用map维护某数字上次出现的位置.另外用变量last表示上次出现数字重复的位置. 如果出现重复数字,且map[val]>last时,计算当前区间长度,然后last变为map[val]+1. 其他时候增长区间长度即可. 每次遍历一个元素都要更新map[val],用区间长度更新最优解. #include<iostream> #include<vector> #include…