摘要: 链接:E-Removal 题意:给出序列 s1, s2, ..., sn ,1<=s[i]<=10。问删除m个数后,有多少种不同的序列。 题解:定义dp[i][j]代表长度为i,最末尾的数字为j的子序列方案数,sum[i]代表长度为i的子序列个数。 sum[0] = 1。 从 1 ~ n 遍历序列, 阅读全文
posted @ 2018-07-21 10:44 鬼沐冢 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 链接:D-Two Graphs 题意:给出图G1和G2,求G2的子图中和G1同构的个数。 题解:只有8个点,暴力枚举G2的点每个排列,让G1映射到G2中,求出同构个数a。同构的G2就是在G1有边的对应位置也有边。在求一G1到G1的全排列映射的同构个数b。答案就是a/b。因为每一个和G1同构的子图都会 阅读全文
posted @ 2018-07-20 15:34 鬼沐冢 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 链接:J-Different Integers 题意:给出序列a1, a2, ..., an和区间(l1, r1), (l2, r2), ..., (lq, rq),对每个区间求集合{a1, a2, ..., ai, aj, aj + 1, ..., an}中不同的数的个数。 题解: 法一:将序列数 阅读全文
posted @ 2018-07-20 15:19 鬼沐冢 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 链接:SPOJ - DQUERY 题意:求给定区间不同数的个数(不更新)。 题解:离线+树状数组。 对所求的所有区间(l, r)根据r从小到大排序。从1-n依次遍历序列数组,在树状数组中不断更新a[i]出现的最后一个位置。更新:将a[i]所在位置i在树状数组中加1(add(i, 1)),并消去a[i 阅读全文
posted @ 2018-07-20 11:33 鬼沐冢 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 链接:E.简单数据结构1 题意: 给一个长为n的序列,m次操作,每次操作: 1.区间加 2.对于区间,查询 ,一直到- 请注意每次的模数不同。 题解:扩展欧拉定理降幂 对一个数p取log(p)次的欧拉函数等于1,故可将操作2的复杂度降到log(p),可以直接求解。用树状数组的小技巧,可以在log的时 阅读全文
posted @ 2018-07-15 21:59 鬼沐冢 阅读(330) 评论(0) 推荐(1) 编辑