Description 正解:搜索+随机化。 先写个搜索,枚举所有没有要求的任务属于哪一种任务,然后再用爬山来更新最优解。 具体来说就是先把所有先做任务$A$的按照$a$时间从大到小排序,先做任务$B$的同。然后每次随机交换两个任务的位置,看这样会不会更优。 计算最优解写一个贪心就行了。 ...
分类:
其他好文 时间:
2017-11-29 14:39:49
阅读次数:
171
洛谷P3216 [HNOI2011]数学作业 题目描述 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 N 和 M,要求计算 Concatenate (1 .. N) Mod M 的值,其中 Concatenate (1 ..N)是将所有正整数 1, 2, …, N ...
分类:
其他好文 时间:
2017-11-07 22:16:44
阅读次数:
176
[luogu P3216] [HNOI2011]数学作业 题目描述 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 N 和 M,要求计算 Concatenate (1 .. N) Mod M 的值,其中 Concatenate (1 ..N)是将所有正整数 1, 2 ...
分类:
其他好文 时间:
2017-10-04 17:31:57
阅读次数:
180
分析:设f[i]为1~i组成的数,可以得到f[i] = f[i-1] * 10^k + i.对于一个序列求第n项,一般可以用矩阵乘法来加速,但是每一个矩阵只能对应一个不变的递推式,这个式子中的k会变,那怎么办呢?那么在1~9,10~99,100~999每一次构造一个矩阵就好了,具体的矩阵如下: f( ...
分类:
其他好文 时间:
2017-09-18 22:25:20
阅读次数:
245
【BZOJ2326】[HNOI2011]数学作业 题解:对于位数相同的数字,这显然是满足矩乘性质的。 那么我们枚举每一位,如果当前i=10^k,那么维护行向量(sum,now,1),now代表当前的数,每次将sum*=i再加上now,now+=1即可。 ...
分类:
其他好文 时间:
2017-09-03 11:12:54
阅读次数:
124
题解: 首先用二进制表示每个音阶是否使用,那么共有$2^{n}-1$(空集不可行)种片段,用$a_{i}$来表示每个片段,问题就是求满足$a_{1}\left (xor\right)a_{2}\left (xor\right)......\left (xor\right)a_{m}==0\&\&a_ ...
分类:
其他好文 时间:
2017-08-26 10:16:17
阅读次数:
101
solution 矩阵: f: a: 10^k 0 0 ans i 1 * 1 1 0 1 1 1 分段乘,给a赋值10^k时记得给10^k%上mod,不然炸long long了 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> ...
分类:
其他好文 时间:
2017-08-23 15:32:00
阅读次数:
170
题目描述 题解 dp+容斥原理 先考虑有序数列的个数,然后除以$m!$即为集合的个数。 设$f[i]$表示选出$i$个集合作为满足条件的有序数列的方案数。 直接求$f[i]$较为困难,考虑容斥,满足条件的有序数列的方案数=总方案数-不满足条件的方案数。 考虑如果前$i-1$个集合确定,那么第$i$个 ...
分类:
其他好文 时间:
2017-08-15 21:09:33
阅读次数:
140
【BZOJ2339】[HNOI2011]卡农 题解:虽然集合具有无序性,但是为了方便,我们先考虑有序的情况,最后将答案除以m!即可。 考虑DP。如果我们已经知道了前m-1个集合,那么第m个集合已经是确定的了。因为内层集合的n个元素可以随便出现,那么总数就是A(2^n-1,m-1)。但是可能存在不合法 ...
分类:
其他好文 时间:
2017-08-15 21:06:42
阅读次数:
141
题面: 2339: [HNOI2011]卡农 Description 令f[i]为前i个集合满足条件的方案数,则前i-1个集合确定后,第i个也随之确定(元素出现偶数次)。 f[i]=A[m][i-1]-f[i-1](前i-1个集合已经满足元素出现偶数次)-f[i-2]*(i-1)*(2^n-1-i+ ...
分类:
其他好文 时间:
2017-08-12 22:29:08
阅读次数:
158