摘要: package hello_; import java.util.Scanner;import java.util.Random; public class Main {/* * 1格式 * 2输出可以跟C一样不过前缀需要System.out 输入要申请一个类 * 3申请数组 一维数组 int[] 阅读全文
posted @ 2020-02-03 15:32 czwccc 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 两点之间贡献和的问题转化成边的贡献 已经深搜过的点的个数为son[u] 回溯得到的另外一个子树的个数为son[v] 然后每一条边的贡献分别由黑点和白点组成 设遍历到的树边靠近子树的一端黑点为x, 即 黑内为x 黑外 为 K - x 那么黑点的贡献为x * (son[v] - x) 白内为 son[v 阅读全文
posted @ 2019-10-19 21:29 czwccc 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 树形dp根节点虐炸1个多小时。我是把边和终点放在了一起,所以从1开始其实是对边建的树,忽略了0-1最原始的边的权重一直出不来 由于还要考虑边权值,分为只取左子树,只取右子树,两边都走的情况,虽然好像可以优化成一个forfor,但是为了稳我还是分开来背包了 阅读全文
posted @ 2019-10-16 19:24 czwccc 阅读(185) 评论(0) 推荐(0) 编辑
摘要: luogu 树形DP从下往上把状态更新,既然需要从叶结点更新到根节点,所以需要先从根节点先深搜到叶结点,然后才能从树下端更新到树上端。 三道模板很开心。 P1352 题意:舞会开始,一个人的上司来了,他就肯定不来........有向边 终点存在的话 那起点一定不存在, 求最多多少个点 P2016 和 阅读全文
posted @ 2019-10-15 21:50 czwccc 阅读(293) 评论(0) 推荐(0) 编辑
摘要: E题一个下午自闭,被吊打是日常的事情,不用奇怪。 刚开始是当成类似灯的开关问题,从左到右把1e9的长度分成最多2*n段然后还特判了一小时,再二分,结果......当然.......TLE 之后看正解,是对特定的点进行差分,把渔夫当成是点,对于每一条鱼的区间加1,然后一次性得到答案 http://co 阅读全文
posted @ 2019-10-12 23:40 czwccc 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 首先由题意可得,在A'中取走任意t可以使得A'-t <= A 而 A' >= A-A',即在A'中取走最小的石子 先做出01背包找出没有题意限制的可能性 然后退背包,将最小的石子堆从A'的可能性里去除得到了 以 这个最小的石子为最小的所有A'的可能性 阅读全文
posted @ 2019-09-17 00:41 czwccc 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 埃拉托斯特尼筛法的时间复杂度是O(n*lglgn) 线性筛 接近O(n) 附带的是 偶数位数的回文 必定是 11 的倍数 ( 除了11 都是合数 ), 先证 一个数奇偶位和 的差 是11的倍数,则这个数为11的倍数 证: dn dn-1 dn-2 ... d3 d2 d1 每一位的贡献 为 dn * 阅读全文
posted @ 2019-08-21 02:17 czwccc 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意:求 n 个数字的约数的个数 做法:已知 x 是n个数字的最大公约数,x可以分解为t个质数,216 = 2^3 * 3^3, 216的约数个数 4 * 4 #include <stdio.h> #include <string.h> #include <list> #include <algor 阅读全文
posted @ 2019-08-17 16:27 czwccc 阅读(174) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> const int maxn = 100000 + 1; typedef long long ll; ll a[maxn], tree[maxn 阅读全文
posted @ 2019-08-16 11:18 czwccc 阅读(83) 评论(0) 推荐(0) 编辑
摘要: /*最大凸包*/#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; const int maxsz = 55; int m, dp[maxsz][maxsz], ans; struct Point { int x, y; Point ( int xx = 0, int yy = 0 ) : 阅读全文
posted @ 2019-08-15 20:51 czwccc 阅读(138) 评论(0) 推荐(0) 编辑