09 2019 档案

摘要:把以前考试换根题集中写一下 随便选一个点做根一遍dfs求子树内贡献,再通过特殊手段算ans[1],最后dfs求其他ans 拆成子树内,子树外分别算贡献差,得儿子是很常见套路了 小奇的仓库 M<=15 题解 很久之前做的换根dp,当时觉得真是神仙,现在看还是觉得很神仙 不同于一般换 阅读全文
posted @ 2019-09-28 11:59 znsbc 阅读(562) 评论(0) 推荐(2) 编辑
摘要:随机走,看期望 由于zzn过于sb,考试推出来式子因为统计时间不对没有AC(应dfs前统计) zzn实在过于sb,式子和题解完全不一样,所以看题解的可以走了 记录tofa[x]表示当前点走到父亲期望步数 可以直接走到父亲 贡献1deg[x] 走到儿子再走到父亲$\frac{ 阅读全文
posted @ 2019-09-25 18:19 znsbc 阅读(237) 评论(0) 推荐(1) 编辑
摘要:一套题 养花 题解 分块\主席树 这里我用的是主席树 查询分段1(k1)找最大的,能向右找就向右找 for(ll nowl=1,nowr=k-1;nowl<=maxx;nowl+=k,nowr+=k,nowr=min(nowr,maxx)) { if(ans==mod-1) break; c 阅读全文
posted @ 2019-09-24 17:52 znsbc 阅读(218) 评论(0) 推荐(1) 编辑
摘要:做不出来杂题,到处找题做 看到loj上新出了一道题,觉得很神仙不错, 还记得Censoring吗(一个AC自动机的题) 这个题求最优解,数据范围150 题解 数据范围非常小,首先贪心肯定不行,考虑AC自动机上dp? 好吧其实是区间dp 一个直接的想法是维护f[l][r]=0/1阅读全文
posted @ 2019-09-24 16:48 znsbc 阅读(219) 评论(0) 推荐(1) 编辑
摘要:题目大意 先放直径性质(转自刀与玫瑰) 1.直径两端点一定是叶子节点。 2.距任意点最远点一定是直径的端点,据所有点最大值最小的点一定是直径的中点。 3.两棵树相连,新直径的两端点一定是原四个端点中的两个 4.两棵树相连,新直径长度最小为max(max(直径1,直径2),半径1+半径2+新边长度 ) 阅读全文
posted @ 2019-09-23 19:39 znsbc 阅读(166) 评论(0) 推荐(1) 编辑
摘要:范围100 题解 比较裸的式子 f[i][j]表示枚举到第i位有没有和为j方案 只有01 f[i][j]=f[i1][jvalval] 答案f[n][i] 范围1000000((1100)2100) 复杂度爆炸,可以滚动 阅读全文
posted @ 2019-09-23 19:27 znsbc 阅读(194) 评论(0) 推荐(1) 编辑
摘要:set 题解 只要求一组特解 像入阵曲一样就好了(入阵曲真是好题啊!) (sum[r]sum[l])%n==0 拆成sum[r]%n==sum[l]%n桶里存sum[l]%n每次找sum[r]桶里有没有对应的#sum[l]# 存tong[0]=1,别的先查后存 证明 阅读全文
posted @ 2019-09-19 10:20 znsbc 阅读(196) 评论(0) 推荐(1) 编辑
摘要:赤 wqs二分 https://www.cnblogs.com/Juve/p/11479423.html https://www.cnblogs.com/Rorschach-XR/p/11479602.html 反悔贪心 https://www.cnblogs.com/cjyyb/p/9367948 阅读全文
posted @ 2019-09-17 17:30 znsbc 阅读(97) 评论(0) 推荐(1) 编辑
摘要:用心出题,用脚造数据 乱搞场 1 #include<bits/stdc++.h> 2 #define re register 3 #define int long long 4 #define inf 0x7ffffffffffffff 5 using namespace std; 6 int n, 阅读全文
posted @ 2019-09-17 16:36 znsbc 阅读(215) 评论(0) 推荐(1) 编辑
摘要:B 题解 f[i][(gcd(prime[j]prime[k]%P,P))]=k=1k<=numf[i1][k]phi(Pprime[j]) 关于phi(Pprime[j])理解 $phi(\frac{P}{pr 阅读全文
posted @ 2019-09-15 20:32 znsbc 阅读(214) 评论(0) 推荐(1) 编辑
摘要:t3不会 世界线 题解 题目让求的就是每个点能到点的数量出度 设每个点能到的点为f[x]f[x]=xyyson[x]Uf[y]bitset优化一下即可,但单纯这样会炸内存,随意yy一下,时间换空间,像平衡树一样开个垃圾 阅读全文
posted @ 2019-09-13 11:30 znsbc 阅读(200) 评论(0) 推荐(1) 编辑
摘要:夜莺与玫瑰 题解 联赛T1莫比乌斯%%% dead line是直线 首先横竖就是n+m这比较显然 枚举方向向量 首先我们枚举方向向量时只枚举右下方向,显然贡献2就是所有斜着的直线 i,j表示当自己向右i个单位长度,向下j单位长度 我们相同斜率下只算最短的线 阅读全文
posted @ 2019-09-09 21:42 znsbc 阅读(278) 评论(0) 推荐(1) 编辑
摘要:金 辗转相减见祖宗 高精 #include<bits/stdc++.h> using namespace std; #define A 2000 #define P 1 #define N 10 #define ll long long ll n,T; char sjdfj[A]; struct b 阅读全文
posted @ 2019-09-07 12:17 znsbc 阅读(198) 评论(0) 推荐(1) 编辑
摘要:次芝麻 题解 大力打表,发现快速幂, 例如初始5 6,那么第一次就是52%11=10,62%11=1. 代码 #include<bits/stdc++.h> using namespace std; #define ll long long ll n,m,k,d; ll g( 阅读全文
posted @ 2019-09-03 17:53 znsbc 阅读(173) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示