上一页 1 ··· 51 52 53 54 55 56 57 58 59 ··· 109 下一页

2019年7月18日

模拟+算贡献——cf1195D

摘要: 比赛的时候没看到模数,用java大数在写,最后看到的时候已经慌了。。 把贡献算清楚就可以 下面是贡献的推导 有五位数 abcde * 10个 有两位数 fg * 3 个 那么这两种数组成的情况就是 abcdfeg 或 abcfdge,现在只考虑五位数在前,两位数在后的情况, 五位数的情况是abcd_ 阅读全文

posted @ 2019-07-18 11:32 zsben 阅读(264) 评论(0) 推荐(0) 编辑

2019年7月17日

回滚树形dp(按dfs序dp)——hdu6035

摘要: 本题前面的操作别的博客里都有。难点在于颜色ci的贡献,如何一次dfs求出答案 先来考虑如何在一次dfs中单独对颜色i进行计算 用遍历dfs序的方式,在深搜过程中,碰到带有颜色 i 的点 u,u每个颜色不为i的子节点v都会贡献一个联通块, v的贡献的联通块大小是size[v]-sum{v中层次最高的以 阅读全文

posted @ 2019-07-17 13:44 zsben 阅读(344) 评论(0) 推荐(0) 编辑

2019年7月15日

虚树(树形dp套路)模板——bzoj2286

摘要: 虚树的核心就是把关键点和关键点的lca重新生成一棵树,然后在这棵树上进行dp https://www.cnblogs.com/zwfymqz/p/9175152.html 写的很好的博客 建立虚树的核心代码 本题的ac代码 #include<bits/stdc++.h> using namespac 阅读全文

posted @ 2019-07-15 23:48 zsben 阅读(277) 评论(0) 推荐(0) 编辑

排列+函数映射——hdu6038好题

摘要: /* 引理:[0,n-1]的排列,i向a[i]连边,那么每个数必定在一个环中 所以数组a可以分割成一些环,数组b也可以分割成一些环 先讨论a的一个环 a[a1]=a2 a[a2]=a3 a[a3]=a4 a[a4]=a5 a[a5]=a6 a[a6]=a1 这个环长度为6 那么套到函数 f[i]=b[ f[a[i] ]中 f[a1]=b[f[a2]] f[a2]=b[f[a... 阅读全文

posted @ 2019-07-15 20:14 zsben 阅读(191) 评论(0) 推荐(0) 编辑

模拟字典序排序——hdu6034

摘要: #include #include using namespace std; const int MAXN = 1e5+7; const long long mod = 1e9+7; int n; int maxj; struct node { int id; int num[MAXN]={0}; bool operator = 0; --j) ... 阅读全文

posted @ 2019-07-15 06:40 zsben 阅读(209) 评论(0) 推荐(0) 编辑

2019年7月14日

回滚线段树+bitset优化01背包——cf981E

摘要: /*首先考虑如何计算一个点的可能凑出的值,这就是一个01可行性背包问题那么再拓展到一段区间[1..n]的点上,每个query都可以看做是一段区间上的点[l,r]加上一个体积为x的物品,转换到01背包上就是进行一次更新那么用线段树来维护每个query的区间更新 每个位置(区间)维护一个bitset,每次加入a都进行一次01背包 用线段树来维护区间的bitset,表示一段区间能组成的值 但是没法用l... 阅读全文

posted @ 2019-07-14 16:14 zsben 阅读(410) 评论(0) 推荐(0) 编辑

扫描线+树状数组——cf1191F

摘要: 把所有点离散化,虚构一根扫描线从上往下扫,每行的点从左往右算贡献,开一个树状数组维护每个离散化后的x坐标是否已经有点 扫描到一个点时,先把这个点更新到树状数组里,每个点的贡献是它左边的所有点数*到它相邻右边点之间的所有点数 阅读全文

posted @ 2019-07-14 16:01 zsben 阅读(359) 评论(0) 推荐(0) 编辑

2019年7月13日

矩阵乘法分配律+bitset优化——hdu4920

摘要: 因为是模3,所以把原矩阵拆成两个01矩阵,然后按分配律拆开分别进行矩阵乘法,行列用bitset来存进行优化即可 注意 int bitset<int>::count() 函数可以统计bitset里有多少1 int bitset<int>::any() 函数可以统计bitset里是否有1 阅读全文

posted @ 2019-07-13 21:36 zsben 阅读(883) 评论(0) 推荐(0) 编辑

二分图染色+分组背包+bitset优化——hdu5313

摘要: 首先就是求联通块,每个联通块里记录两个部分的元素个数 目标是使一边的体积接近n/2 那么每个联通块作为一组,进行分组背包,dp[i]表示体积i是否可以被凑出来,可行性背包是可以用bitset优化的 最后找最接近n/2的体积即可 阅读全文

posted @ 2019-07-13 20:06 zsben 阅读(210) 评论(0) 推荐(0) 编辑

字符串匹配dp+bitset,滚动数组优化——hdu5745(经典)

摘要: bitset的经典优化,即把可行性01数组的转移代价降低 bitset的适用情况,当内层状态只和外层状态的上一个状态相关,并且内层状态的相关距离是一个固定的数,可用bitset,换言之,能用滚动数组是能用bitset优化的前提 阅读全文

posted @ 2019-07-13 17:12 zsben 阅读(183) 评论(0) 推荐(0) 编辑

上一页 1 ··· 51 52 53 54 55 56 57 58 59 ··· 109 下一页

导航