//目录
摘要: 题意:给定一个字符串,求有多少种树与之对应,对应方式是,每次遍历左节点,没有了,就回溯; 分析:d[i,j] = sum(d[i+1,k-1],d[k,j]) (str[i]==str[k]); 坑点是数组竟然要long long 不然会超时,神奇; 1 #include <bits/stdc++. 阅读全文
posted @ 2017-06-03 17:53 小草的大树梦 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 当时我的第一想法也是用单调栈,但是被我写炸了;我也不知道错在哪里; 看了大神的写法,用数组模拟的; 记录下单调递增栈的下标,以及每个数字作为最小值的最左边的位置。 当有数据要出栈的时候,说明栈里的数据已经不是最小了,右端点就是当前位置-1,那么就可以计算栈顶的元素所作的贡献;出栈完后,当前这个数字, 阅读全文
posted @ 2017-06-03 16:54 小草的大树梦 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 给出图,求他的“仙人掌度”,即求包括他自身的生成子图有多少? 只能删去仙人掌上的叶子的一条边,然后根据乘法原理相乘; 1、怎么求一个仙人掌叶子上有多少边? 可以利用点,边双连通的时间戳这个概念,但是绝对时间是不对的,只能用相对的时间戳。 2、怎么把第二种情况剔除掉? 就是记录每一个点加入环中的次数; 阅读全文
posted @ 2017-06-03 10:53 小草的大树梦 阅读(253) 评论(0) 推荐(0) 编辑