本文主要是介绍JSOI2015,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[BZOJ4475] [Jsoi2015]子集选取
- 题目大意
- 定义全集为 {1,2,⋯,n} ,要求构成一个m*m的三角形,使得三角形 (i,j) 所代表的集合是 (i−1,j)和(i,j−1) 的子集(如果 (i−1,j) 或 (i,j−1) 不存在就不考虑)
- 题解
- 打表可知 ans=2nm (最近除了打表暴力就没用啥了……)
- CODE
[BZOJ4477] [Jsoi2015]字符串树
- 题目大意
- 给定一棵树,树边上有字符串,每次询问 (u,v) 两点间路径上有多少字符串的前缀包含给定字符串 S
- 题解
- 可持久化Trie树
- 建立从
1→i的Trie树,用u,v,lca(u,v)的Trie树相减即可
- CODE
[BZOJ4472] [Jsoi2015]salesman
- 题目大意
- 给定一棵树,每个点有权值,给定每个点经过的次数,从1开始走询问最大权值和,以及方案是否唯一
- 题解
- 跟之前一道POI很像,树形DP+贪心
- 至于方案判断,从某个点开始走最后一次走的点后面是否还有与其权值相等的点,有就有多解
- 第一次交WA了,因为忘了如果走某个子树权值为0,方案也不唯一
- CODE
[BZOJ4487] [Jsoi2015]染色问题
- 题目大意
- 给定n*m的方格,用t种颜色去染色,要求满足
- 每个格子用t种颜色染或不染
- 每一行至少一个格子染色
- 每一列至少一个格子染色
- 所有颜色必须都被用到过
- 询问方案数
- 给定n*m的方格,用t种颜色去染色,要求满足
- 题解
- 狂喷自己的容斥原理!!!!辣鸡!!!!
- ans====∑i=0n∑j=0m∑k=0t(ni)(mj)(tk)(−1)n+m+t−i−j−k∗(k+1)ij∑i=0n∑k=0t(ni)(tk)(−1)n+m+t−i−k∑j=0m(mj)(−1)−j((k+1)i)j∑i=0n∑k=0t(ni)(tk)(−1)n+t−i−k∑j=0m(mj)(−1)m−j((k+1)i)j∑i=0n∑k=0t(ni)(tk)(−1)n+t−i−k((k+1)i−1)m
- CODE
[BZOJ4488] [Jsoi2015]最大公约数
- 题目大意
- 给定一个序列 {x}
- 定义一个连续子序列的权值为 (r−l+1)∗gcd(xl,xl+1,⋯,xr)
- 询问最大权值
- 题解
- 同BZOJ 4052 Cerc2013 Magical GCD
- 整个序列的 gcd 个数不超过 NlogN 个,所以从左往右存一个右端点为 i,gcd=? 的最远左端点位置,然后暴力求解即可
- 同BZOJ 4052 Cerc2013 Magical GCD
- CODE
这篇关于JSOI2015的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!