11 2017 档案
摘要:树的直径: 利用了树的直径的一个性质:距某个点最远的叶子节点一定是树的某一条直径的端点。 先从任意一顶点a出发,bfs找到离它最远的一个叶子顶点b,然后再从b出发bfs找到离b最远的顶点c,那么b和c之间的距离就是树的直径。 用dfs也可以。 模板: poj 2631 Roads in the No
阅读全文
摘要:895C - Square Subsets 思路:状压dp。 每个数最大到70,1到70有19个质数,给这19个质数标号,与状态中的每一位对应。 状压:一个数含有这个质因子奇数个,那么他状态的这一位是1,一个数含有这个这个质因子偶数个,那么状态的这一位是0。 那么如果一个数是平方数,那么这个数的状态
阅读全文
摘要:思路: 很简单的一个状态压缩,比赛时没想出来。 最多只有2^10个状态,n^2暴力一下也就1e6。 代码:
阅读全文
摘要:思路: 先n^3预处理出每个点能到达的(1010串)最上面的行下标。 然后再n^3暴力一下,对于每个点,往左走看能走到哪,边走边更新面积。 代码:
阅读全文
摘要:893E - Counting Arrays 思路:质因子分解。 对于每个质因子,假设它有k个,那么求把它分配到y个数上的方案数。 相当于把k个小球分配到y个盒子里的方案数。 这个问题可以用隔板法(插空法)解决,要把一段分成y段,需要y-1个隔板,那么有y-1+k个位置,选y-1个位置为隔板,剩下的
阅读全文
摘要:盗自仓鼠大神博客:http://www.cnblogs.com/linyujun/p/5194170.html 用于解决(a^b)%p类问题,当b很大时 好像运用到费马小定理,不会证明 φ(p)表示小于p与p互质的个数 如果a与p互质 当p为质数时 如果a与p不互质 【2019.3更正】 广义欧拉定
阅读全文
摘要:894B - Ralph And His Magic Field 思路: 当k为1时,如果n和m奇偶性不同,那么没有答案。 可以证明,在其他情况下有答案,且答案为2^(n-1)*(m-1),因为前n-1行和m-1列确定后,最后一列和最后一行可以确定,且确定的最后一格不矛盾。 可以采用在全为1的格子中
阅读全文
摘要:888E - Maximum Subsequence 思路:折半枚举。 代码:
阅读全文
摘要:对于一个大于1正整数n可以分解质因数: 则n的正约数的个数是: 则n的正约数之和是: f(n)=(1+p1^1+p1^2+…p1^a1)(1+p2^1+p2^2+…p2^a2)…(1+pk^1+pk^2+…pk^ak) 这两个都是积性函数,可以用线性筛求。 则n的正约数之和是: f(n)=(1+p1
阅读全文
摘要:筛[l,r]之间的合数 l<=r<=1e12 r-l<=1e6 筛小于等于r的合数所需的质因子大小最多不会超过根号r(<=1e6) 模板: 例题1:POJ 2689 Prime Distance 代码: #include<iostream> #include<cstdio> #include<cst
阅读全文
摘要:Atcoder Yet Another Palindrome Partitioning 思路: 一个字符串满足条件的情况是奇数字母个数小于等于1,也就是异或起来是1<<j(0<=j<=25)或者是0 记mark是异或起来的值 状态转移: dp[mark]=dp[mark]+1; dp[mark]=m
阅读全文

浙公网安备 33010602011771号