上一页 1 ··· 35 36 37 38 39
摘要: Count On A Tree 建立线段树记录每个$[1,u]\(路径上的前缀中在值域\)[L,R]$中的个数 查询时 计算 \(cnt[x]+cnt[y]-cnt[lca]-cnt[fa[lca]]\) const int N=1e5+10,P=1e9+7; int n,m; int s[N*20 阅读全文
posted @ 2019-07-28 16:06 chasedeath 阅读(180) 评论(0) 推荐(0) 编辑
摘要: Trie(字典树) 基本数据结构 实际是:对于每个字符串组的每一个不同前缀建立节点 基本代码 void Insert(char *s,int p){ int now=0; int l=strlen(s); rep(i,0,l-1){ int k=s[i]-'a'; if(!nxt[now][k]) 阅读全文
posted @ 2019-07-28 16:00 chasedeath 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题解并不是特别详细 , 代码可能会有细节问题 ,题目排列比较诡异 方法总结: 一、列出暴力dp的式子 用$dp[i]=dp[j]....$ 二、找出里面的量,通常分三种: 1只与$i$有关 2.只与$j$有关的 3.对于同时与$i,j$有关的 三、固定 $i$ ,对于$x,y$属于$j$的范围且 $ 阅读全文
posted @ 2019-07-28 14:04 chasedeath 阅读(395) 评论(2) 推荐(0) 编辑
摘要: [BZOJ1098][POI2007]办公楼biu 一个看上去非常玄学的代码 我这个代码大概是在讲这样的: 按照出度排序,没有连边的点必须合并,最后找集合个数 但是合并的时候要注意用y的答案更新x,这样y就不用再跑一次了~~(这里的总复杂度较为诡异)~~ 更新过程:遍历x的边,如果y的边中没有x的这 阅读全文
posted @ 2019-07-28 13:58 chasedeath 阅读(166) 评论(0) 推荐(0) 编辑
摘要: [POI2008]PER-Permutation 带重复的康托展开! 根本不需要中国剩余定理就可以A掉! 看完题面你会惊人地发现这好像一个康托展开!(显然是不同的啦) 首先我们来看康托展开这个东西在数组为排列时怎么打 >度娘 int cantor(int a[],int n){//cantor展开, 阅读全文
posted @ 2019-07-28 13:57 chasedeath 阅读(185) 评论(0) 推荐(0) 编辑
上一页 1 ··· 35 36 37 38 39