随笔分类 - SRM596
摘要:逻辑分析题,先看cool的定义:1.1 对任意两个不同的数A和B,A&B > 01.2 对任意三个不同的数A、B和C,A&B&C = 0分析数的二进制位可以推出以下等价定义:2.1 任意一对数至少有一个二进制位(下同)都为12.2 考虑所有的数,任意一位上1的总数最多为2定义几个术语:位对若A和B在w位上相等且都为1则称AB在w位上拥有一个位对(w, A, B)双位在该位上1的总数为2单位 在该位上1的总数为1无效位在该位上1的总数为0定义2转换为下述表述:3.1 任意两个数都在某位上有一个位对3.2每位上最多存在一个位对现在新增一个集合M还要使S+M是cool的
阅读全文
摘要:开始以为是DP然后用了一个时间复杂度数量级为\(10^7\)的DP来做,结果case 35超时,后来发现就是一个逻辑分析题,就知道有贪心策略的,250分的题怎么可能是DP呢。分析首先考虑一个数的情况,任意一个数a的形成可以通过如下构造来表示:\(\begin{equation}\begin{split}a&=((((0+n_0)\times2+n_1)\times2+n_2)\times2+...+n_{k-1})\times2+n_{k}\\&=\sum_{i=0}^{k} n_i\times2^{k-i} (n^i \in N) \end{split}\end{equati
阅读全文
摘要:动态规划的题目 1 class ColorfulRoad: 2 def getMin(self, road): 3 a = [None] * len(road) 4 a[0] = 0 5 for i in range(0, len(road)-1): 6 if a[i] != None: 7 for j in range(i+1, len(road)): 8 if self.judgeValid(road[i], road[j]): 9 ...
阅读全文
摘要:一般编程题,如果用数组来处理,注意中间要忽略的城市 1 class FoxAndSightseeing: 2 def getMin(self, position): 3 minx = 999999999 4 for i in range(1, len(position)-1): 5 sumx = 0 6 for k in range(1, len(position)): 7 sumx += abs(position[k] - position[k-1]) 8 ...
阅读全文
摘要:数论题,注意以下性质:(1) 若 \( divisor | F(n) \) 则必存在整数 \(r\) 使得 \( n \equiv r^2 (mod \ divisor) (r \in \mathbf{N}且n>r^2)\)(2) 若\( n \equiv r^2 (mod \ divisor) (r \in \mathbf{N}且n>r^2) \) 则必有\( divisor | F(n) \)若 \(divisor\) 不是质数则性质不成立,因此原题转换为如下问题:求区间 \( [lo, hi] \) 内满足 \( n \equiv r^2 (mod \ divisor) (r
阅读全文
浙公网安备 33010602011771号