摘要: 给出一个长度为n的序列。支持两种操作: 1.把全部值为x的修改成y。2.询问序列有多少连续段。 我们可以对于每个值建立一个链表。对于操作1,则可以将两个链表合并。 对于操作2,只需要在每次合并链表的时候更新答案即可。 但是这样会超时。原因是因为合并链表时的暴力操作。如果每次把siz值小的合并到siz 阅读全文
posted @ 2017-04-27 23:10 free-loop 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 某加工厂有A、B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成。由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工,所完成任务又会不同。某一天,加工厂接到n个产品加工的任务,每个任务的工作量不尽一样。你的任务就是:已知每个任 阅读全文
posted @ 2017-04-27 19:09 free-loop 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 状压DP f(i,j,k)表示前i−1个人已经吃了饭,且在i之后的状态为j的人也吃了饭(用二进制表示后面的状态),最后吃的那个人是i之后的第k个 (注意k可以是负数) 然后 如果j&1=1那么就表明第i个人也是吃了的,所以可以转移到f(i+1,j>>1,k−1) 否则就枚举下一个吃饭的人,转移到f( 阅读全文
posted @ 2017-04-27 18:37 free-loop 阅读(203) 评论(0) 推荐(0) 编辑