10 2022 档案

摘要:O(mlogn),单次查询为O(logn) 实际最坏情况下优于线段树,因为跑不满... ###1.单点修改+区间求和 区间求和变为前缀和相减。 #include<iostream> #include<cstdio> const int maxn = 5e5 + 7; int n, m; in 阅读全文
posted @ 2022-10-21 22:14 SxtoxA 阅读(17) 评论(0) 推荐(0) 编辑
摘要:关于SPFA,ta死了 基于链式前向星的堆优化dijsktra: 复杂度O(mlogn),要求非负权。 #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<vector> #define 阅读全文
posted @ 2022-10-21 21:00 SxtoxA 阅读(16) 评论(0) 推荐(0) 编辑
摘要:###题意 树上每个结点的权值为wi,若点i和点j满足:ij的最短距离为2,则会产生wiwj的联合权值。 求最大联合权值和联合权值之和。 ###分析 ①最大联合权值 对于结点u,u的叶节点之间一定能产生联合权值。 那么与u相连的所有点之间都能产生 阅读全文
posted @ 2022-10-20 17:16 SxtoxA 阅读(25) 评论(0) 推荐(0) 编辑
摘要:(以洛谷P3379为例) 其中: dep[u]:表示结点u的深度 dp[u][k]:表示结点u的2^k祖先 代码: #include<iostream> #include<cstdio> #include<cstring> const int maxn = 500000 + 10; int nxt[ 阅读全文
posted @ 2022-10-20 16:32 SxtoxA 阅读(17) 评论(0) 推荐(0) 编辑
摘要:小编脑子不好使,dp题做得少,被迫加强训练(指做水题)。 ###洛谷P1026 统计单词个数 令dp[i][j]为前i个字符且被划分为了j块的最大单词数 状态转移方程: dp[i][j]=maxdp[i][j],dp[l][j]+sum[l+1][i](j1l<i) 阅读全文
posted @ 2022-10-17 15:56 SxtoxA 阅读(12) 评论(0) 推荐(0) 编辑
摘要:###A 模拟题,不多说。 时间复杂度O(3) #include<iostream> #include<cstdio> #include<cstring> #include<map> const char ch[] = {'L', 'M', 'S'}; std::string s[2]; std 阅读全文
posted @ 2022-10-12 16:08 SxtoxA 阅读(49) 评论(0) 推荐(0) 编辑
摘要:###题目 https://www.luogu.com.cn/problem/P3067 ###思路 考虑折半搜索,第一个dfs对[1,n/2]的数进行分组,+代表第一组,-代表第二组,并计算两组总和的情况方案数ai。 第二个dfs对[n/2+1,n]的数统计数字和为sum的方案bi,同 阅读全文
posted @ 2022-10-10 17:48 SxtoxA 阅读(38) 评论(0) 推荐(0) 编辑
摘要:###题目 https://www.luogu.com.cn/problem/P5194 ###思路 n1000的范围很吓人,但是按照【每个砝码的质量至少等于前面两个砝码的质量的和】的规则,打表可知n在50时总重量就已经超过了230。 于是大胆得出n50阅读全文
posted @ 2022-10-10 12:41 SxtoxA 阅读(28) 评论(0) 推荐(0) 编辑
摘要:###前言: 许多算法的状态数并不支持其在多项式时间内运行完成。比如TSP问题这种大部分为NP-Hard的问题。 在数据范围缩小的前提下(例如n21),不妨将状态数压缩成二进制情况,用一串二进制数表示整体情况。 ###洛谷 P1433 记dpk,i为:当前整体状态为k,老 阅读全文
posted @ 2022-10-09 12:36 SxtoxA 阅读(10) 评论(0) 推荐(0) 编辑

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