摘要:
题目链接:hdu 6109 数据分割 题意: 给你一些不等和相等关系,然后分割,每次都按第一个不成立的等式分割。 题解: 由于相等关系具有传递性,不等关系不具有传递性。 所以相等关系可以由并查集来存储,不相等关系用set来存,目的是为了让查找log(n) 然后在两个集合进行合并的时候,要采用启发式合 阅读全文
摘要:
题目链接:poj 2887 Big String 题意: 让你设计一个数据结构,支持将一个字符插在p位置,询问第p个字符。 题解: 块状链表搞搞就行。 1 #include<cstdio> 2 #include<queue> 3 #include<cmath> 4 #include<cstring> 阅读全文
摘要:
题目链接:hdu 6119 小小粉丝度度熊 题意: 给你n个区间,和一个数m,m表示可补上不连续的位置累计和为m,现在问你最长的连续区间和为多少。 题解: 我可能写的有点复杂,大概就是将每个区间排序后离散化,将这些间隔看成一个点,然后双指针一下。 1 #include<bits/stdc++.h> 阅读全文
摘要:
题目链接:hdu 6118 度度熊的交易计划 题意: 中文,说的很清楚了。 题解: 对着输入建一些图,跑一下可行费用流就行了,即当费用为正的时候就不跑了,这样就先满足了费用最小。 1 #include<bits/stdc++.h> 2 #define F(i,a,b) for(int i=(a);i 阅读全文
摘要:
题目链接:hdu 6015 Gameia 题意: 给出一棵树,Alice 和 Bob 轮流操作, Alice先手, Alice的操作是选一个未染色的点将其染成白色,Bob的操作是选一个未染色的点将其染成黑色,并且和这个点有直连边的点也被强制染成黑色(无论这些直连点之前是否有颜色),Bob还有一个小技 阅读全文
摘要:
题目链接:hdu 6096 String 题意: 给你n个字符串,和q个询问,每个询问给出一个前缀和后缀,问你在这n个字符串中有多少个包含给出的询问,前缀和后缀不能重叠。 题解: 比赛的时候用的hash,无限wa,然后下来后发现他有一组特别的数据专卡我的hash,随便怎么换种子都能卡。真是R了狗了。 阅读全文
摘要:
题目链接:hdu 6086 Rikka with String 题意: 给你n个只含01的串,和一个长度L,现在让你构造出满足s[i]≠s[|s|−i+1] for all i∈[1,|s|] ,长度为2L,并且包含给出的n个串,问能有多少种这样的串。 题解: 建立两个AC自动机,一个用来放正串,一 阅读全文
摘要:
题目链接:hdu 6085 Rikka with Candies 题意: 给你一个A序列和B序列,A和B内的每个数都不相同,现在有q个询问,问对于每个询问的k输出A[i]%B[j]==k的个数的奇偶性。 题解: 考虑两种情况: 1. 当A[i]<B[i]时,对于当前询问的k,只要A[i]中有k,那么 阅读全文
摘要:
题目链接:hdu 6090 Rikka with Graph 题意: 给你一个n和m,让你用这m条边将n个点链接起来,使得对于全部的pair<i,j>的最短路之和最小。没有路的值就为n。 题解: 还是和题解说的一样 1 #include<bits/stdc++.h> 2 #define mst(a, 阅读全文
摘要:
题目链接:hdu 6092 Rikka with Subset 题意: 给你n和m,让你找一个字典序最小的含有n个数的A序列,使得A序列的和为m, 然后给你m+1个数,是A序列所有的集合的和的个数,然后让你找出这个A序列。 题解: 和题解一样的思想。 1 #include<bits/stdc++.h 阅读全文