摘要: 题目大意:有n个物品,每个物品有一个颜色。现在有两种操作:1.查询l~r内有多少颜色为c的物品并输出。2.将第x个物品和第x+1个交换。现在让你实现这些操作。 解题思路:首先一共有300000种颜色,最多只有300000个物品,但如果直接开数组,结果可想而知。 所以考虑用vector保存每种颜色的编 阅读全文
posted @ 2017-11-02 19:38 Mrsrz 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个数,opt个操作,并给你md、min、max。 每种操作有以下两种:1.给一段区间加一个固定值。2.询问一段区间内满足$min\leq T*i\ mod\ md\leq max$(T是当前的数,i是当前数的下标)的数的个数。 在这opt个操作里,询问不超过1000个。 这之后还有fi 阅读全文
posted @ 2017-11-02 16:04 Mrsrz 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目:BZOJ1087、洛谷P1896、codevs2451。 题目大意:在n×n的棋盘上放k个王,要使它们互相攻击不到,有几种放法? 一个王能攻击到与它相邻的八格内的棋子。 解题思路:状压DP。 我们可以用一个二进制来表示当前行的状态(1表示放了王,0表示没有)。 则设f[i][j][p]表示前i 阅读全文
posted @ 2017-11-02 14:24 Mrsrz 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目:洛谷P2985。 题目大意:有n块巧克力要吃d天,并且只能按顺序吃。一块巧克力有一个开心值,吃了就能增加开心值。一个人初始开心值为0,且每天早上开心值变为原来的一半。问如何吃巧克力才能使开心值最小的一天开心值最大(每天都按吃完巧克力后计算),且需要输出方案。 解题思路:最大化最小值问题,用二分 阅读全文
posted @ 2017-11-02 12:29 Mrsrz 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 题目:洛谷P1084、codevs1218、Vijos P1783。 题目大意:有一棵n个节点的,根为1的带权树和m支军队。每支军队可以在一个点上停下,那么从1开始就不能经过这个点了。现在有m支军队已经在某些点上,移动一支军队到一个相邻的点所花时间等于该条边的边权。军队可同时移动。问至少多少时间才可 阅读全文
posted @ 2017-11-02 10:07 Mrsrz 阅读(798) 评论(0) 推荐(0) 编辑