上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 题意:给你n个组,m条规则,每组有俩个人,这两个人不能同时出现,然后m条规则代表着有两个人,这两个人也不能同时出现,问你是否存在每组都能出现一人的选择方案 解题思路:因为这个需要字典序输出,所以只能用暴力的方法解决,如果x,y在同一条规则里面,那么建立一条边由x指向和y同一组的另一个人,y也这样做, 阅读全文
posted @ 2018-11-01 18:38 荒岛的龟 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个字符串,每个字符串可以和另一个字符串连接的前提是,前一个字符串的尾字符等于后一个字符串的首字符,问你存不存在欧拉通路并输出 解题思路:基本标准流程,建图:把一个字符串可以看作一条首字符指向尾字符的一条边,因为这道题需要输出字典序最小的,那么得先给他排序,按照字典序从小到大排,因为我用前 阅读全文
posted @ 2018-09-14 00:53 荒岛的龟 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个火柴棍,每个火柴棍头和尾两种颜色,问你是否存在能够把这些火柴棍摆成一行的情况,两个相连的火柴棍的颜色需要一样; 解题思路:最初的思路是用map标记颜色,然后把每种颜色看作点,每根火柴棍看作边,求欧拉路径,然后超时了。。。看了别人的写法,想起来了自己还学过字典树来着。。。然后用字典树找就 阅读全文
posted @ 2018-09-13 00:34 荒岛的龟 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个单词,每个单词可以和另一个单词连接,前提是(这个单词的尾字母等下一个单词的首字母),问你有没有一种连法能够连接所有的单词; 解题思路:每个单词可以看成是首字母指向尾字母的一条边,那么就变成求欧拉通路的问题了; 代码: 阅读全文
posted @ 2018-09-12 20:56 荒岛的龟 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个长度为n的单词表,一个文本串,问你这个文本串中出现了单词表中多少个单词; 解题思路:ac自动机的模板题,可以直接当模板用; 代码: 附上非指针版本: 代码: 阅读全文
posted @ 2018-09-06 19:27 荒岛的龟 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个点,m条边的有向带权图,然后你每次可以选<=k条边的边权变成0,问你1到n的最短路; 解题思路:这道题基本上就是原题了呀,bzoj2763(无向图),解法就是拆点跑分层的最短路,比如这道题,你用了一次变为0,就相当于进入了下一个层次; 我们把每个点都拆成k个层次点,每个相同层次的点按输 阅读全文
posted @ 2018-09-01 21:20 荒岛的龟 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 题意:中文题意; 解题思路:这道题麻烦就在于城市群这个东西,所以我们首先就得解决掉这个,最开始思路(建立虚拟源点和汇点,然后有1的城市群和有5的城市群分别连,然后就发现了连样例都对不上,正好发现了如果s,t在同一群内,会造成城市群内的点任意到达这种情况),明显需要拆点,将一个城市群拆成两个点,一个入 阅读全文
posted @ 2018-08-24 16:37 荒岛的龟 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个数,让你在n个数中选三个,使得(a1+a2)^a3的值最大,a1!=a2!=a3(下标不等于); 解题思路:01字典树可以写,因为数据小,我们可以先把n个数建一颗字典树,然后两边for找a1+a2,扔到字典树中,但是这道题因为不能相同,所以有一个操作,每当我们扔一个a1+a2的时候,我 阅读全文
posted @ 2018-08-23 20:28 荒岛的龟 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题意:中文题意 解题思路:01字典树板子题 代码: 阅读全文
posted @ 2018-08-23 18:50 荒岛的龟 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题意:中文题; 解题思路:增加和查询就不说了,标准操作,就是删除操作:删除操作的时候,我们把给定字符串先在字典树中遍历一遍,然后算出这个字符串最后一个字符的出现次数,然后在遍历一遍,每个节点都减去这个次数,最后节点的儿子全部归零; 最开始我是只考虑的最后节点,中间节点都没考虑,这样会出现一个问题就是 阅读全文
posted @ 2018-08-23 16:10 荒岛的龟 阅读(399) 评论(1) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页