08 2018 档案

摘要:题面在这里! 很显然是个暴力dp。 我们先枚举一下 队伍人数的种类,然后再逆序枚举一下dp数组里的总人数(顺序就会算重),最后枚举一下这种队伍的数量,之后就可以O(1)算方案了。 具体的,O(1)算方案可以推一推组合,发现是 (总人数!)/((该种队伍人数! )^队伍数量 * (总人数-该队伍人数* 阅读全文
posted @ 2018-08-31 20:07 蒟蒻JHY 阅读(476) 评论(0) 推荐(0)
摘要:题面在这里! 考虑前后两个数 x,y,可以发现S只有在(x xor y)的最高有1位上的取值是要被确定的 (如果x==y那么没有限制),可以推一下什么情况下是1/0。 于是我们模拟一下这个操作,判一判限制有没有矛盾,如果没有矛盾答案就是 2^自由位 阅读全文
posted @ 2018-08-31 11:11 蒟蒻JHY 阅读(189) 评论(0) 推荐(0)
摘要:题面在这里! 好久没做题啦,养生一下qwq 推一推贡献就会发现这TM就是一个水题啊! 阅读全文
posted @ 2018-08-30 16:57 蒟蒻JHY 阅读(177) 评论(0) 推荐(0)
摘要:题面在这里! 这种题只能二分答案把qwwq,直接做根本做不了啊。。。 首先你需要知道如何通过 一个区间<=x的数有多少个 来判断x和这个区间中位数的关系。 很显然当数有至少 [L/2]+1 个(L是区间内数的个数)时,x>=该区间的中位数。 你肯定觉得这多简单啊?有啥子用? 第一,它可以转化成,区间 阅读全文
posted @ 2018-08-26 11:30 蒟蒻JHY 阅读(417) 评论(0) 推荐(0)
摘要:题面在这里! 显然直接枚举左端点(右端点)就OK啦。 阅读全文
posted @ 2018-08-26 11:23 蒟蒻JHY 阅读(239) 评论(0) 推荐(0)
摘要:题面在这里! 根据题目描述就可以直接模拟出一个暴力。 如果把前 n^(1/2) 的树的方案数先一遍 O(n^(3/4)) 暴力预处理出来(其实复杂度并到不了这个级别),然后把n带进来直接暴力算就行了。 顺便说一下这个玩意好像就是杜教筛的复杂度? 只不过预处理不了 O(n^(2/3)),但是效果也不错 阅读全文
posted @ 2018-08-19 10:55 蒟蒻JHY 阅读(183) 评论(0) 推荐(0)
摘要:题面在这里! 比较显而易见的暴力,O(2^(2n) + 2^n * 100) 就可以直接做了 阅读全文
posted @ 2018-08-17 20:13 蒟蒻JHY 阅读(263) 评论(0) 推荐(0)
摘要:题面在这里! 一开始有一种构造猜想,可以把答案降到 sqrt(N) 级别。 考虑把 {1,2,...,n} 分成 sqrt(N) 段,每一段是连续的sqrt(N)个数。然后我们倒着把每一段数放上。 比如 n=9 的时候就形如 7,8,9 ; 4,5,6 ; 1,2,3. 这样就能保证 LIC和LDC 阅读全文
posted @ 2018-08-13 20:35 蒟蒻JHY 阅读(235) 评论(0) 推荐(0)
摘要:题面在这里! 很明显二进制每一位都是无关的,所以可以先把原问题简化:给矩阵中的每个位置填入0/1,使得特定行/列有奇数个1,其他行/列有偶数个1。 一个比较好想的方法是对行和列 列出 n+m 个异或方程,其中有 n*m 个变量,随便求出一组解就好了(如果有的话)。 但这个貌似并不是很好写。。。 可以 阅读全文
posted @ 2018-08-12 17:46 蒟蒻JHY 阅读(247) 评论(0) 推荐(0)
摘要:题面在这里! 好久没有体会这种A题的快感了23333 一开始看错了,以为权值是从1开始的,不过这样不要紧,最后把算的答案减去两行数的和就是正确的答案了。 然后发现位于一个角上的时候,我们其实只有两种选择,一种是先一直走这一行走到头再返回来走,这样就走完了;另一种是走到这一列的另一行上然后再往右走一列 阅读全文
posted @ 2018-08-12 16:16 蒟蒻JHY 阅读(303) 评论(0) 推荐(0)
摘要:题面在这里! 拆成两个部分分别算显然比较简单。 前面一个部分排个序枚举最大值算就好啦。 后面的就相当于把每一种数值的贡献加起来,也可以在排完序之后的a[]上面直接算出来。 阅读全文
posted @ 2018-08-03 15:58 蒟蒻JHY 阅读(277) 评论(0) 推荐(0)