随笔分类 - 庞果英雄会
摘要:题目链接给定两个正整数a,b,分别定义两个集合L和R,集合L:即把1~a,1~b中整数乘积的集合定义为L = {x * y | x,y是整数且1 b 可以两者交换),a的十进制位数为ka, b的十进制位数为kb。因此异或求解集合R中元素时,只有b的最后ka个二进制位受影响,b的前kb-ka个二进制位可以表示0…2^(kb-ka)-1的所有数。现在我们只考虑b的后面ka个二进制位:1、假设b = 11001,a = 101,那么R = {00001…11001}^{001…101}表示的数有哪些呢? 我们可以看到两者异或后可以表示的最大的数是11001^100 = 11101(注意到后三位异或.
阅读全文
摘要:题目如下甲乙两个人用一个英语单词玩游戏。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的(按字典序a Map; static int who (string word) { //用map保存子问题,防止重复计算 //amap[s]表示字符串s由甲操作时甲能否获胜 //bmap[s]表示字符串s由乙操作时甲能否获胜 Map amap, bmap; return (int)dfs(word, 1, amap, bmap); }private: //判断字符串是否严格...
阅读全文