
【算法】随机化
文章平均质量分 93
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ3243】【UOJ121】【NOI2013】向量内积
【题目链接】BZOJUOJ【思路要点】首先我们来考虑\(k=2\)的情况。将所有向量拼成一个\(N\)行\(D\)列的矩阵\(A\),那么问题等价于找到\(A*A^{T}\)中的一个不在主对角线上的0,或者判断不存在这样的0。显然,直接计算\(A*A^{T}\)会超时。注意到如果找不到这样的零,\(A*A^{T}\)不在主对角线上的元素应该都是1,设矩阵\(B\)是一个\(N\)行\(N\)列的矩...原创 2018-03-02 12:53:14 · 378 阅读 · 0 评论 -
【BZOJ4852】【JSOI2016】炸弹攻击
【题目链接】点击打开链接【思路要点】爬山算法,随机十个起始点,然后爬山取最大值。时间复杂度\(O(Cnt*(N+M))\),其中\(Cnt\)为爬山迭代次数。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 15;const int MAXM = 1005;const double VALUE = 1...原创 2018-03-28 14:07:00 · 504 阅读 · 0 评论 -
【BZOJ3877】【JSOI2014】保龄球
【题目链接】点击打开链接【思路要点】随机\(K\)个起始状态,以及交换顺序,进行爬山算法,每次交换两个位置,检查是否能够让方案更优,直到达到一个局部最优解。时间复杂度\(O(K\alpha N^3)\),其中\(\alpha\)为爬山算法的迭代次数,一般很小。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN ...原创 2018-04-25 17:10:50 · 413 阅读 · 1 评论 -
【BZOJ5316】【JSOI2018】绝地反击
【题目链接】点击打开链接【思路要点】若知道环上某个点的最终位置,那么二分答案+最大流即可解决问题。因此,对环上第一个点的位置进行爬山。我们发现在大部分时候最优解是关于某个点的最终位置的周期函数,并且每个周期是单峰的,因此爬山在大部分时候是有正确性保证的。总时间复杂度\(O(Cnt*LogV*Dinic(N,N^2))\),其中\(Cnt\)为爬山次数。注:由于时间限制较紧,部分测试点的\(Cnt\...原创 2018-05-24 14:57:23 · 915 阅读 · 0 评论 -
【CodeForces】CodeForces Round #507 (Div. 1) 题解
【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**Timetable 【思路要点】 首先,若存在任何一组合法解,有 bi≥ai+t&amp;amp;amp;nbsp;(1≤i≤N)bi≥ai+t&amp;amp;amp;nbsp;(1≤i≤N)b_i≥a_i+t\ (1≤i≤N) 。 对于每一个 xixix_i ,应当满足 xi≥i,&原创 2018-09-10 20:47:42 · 515 阅读 · 0 评论 -
【CodeChef】September Challenge 2018 (Div. 1 + Div. 2) 题解
【比赛链接】点击打开连接**【ANDSQR】**AND Square Subsegments【思路要点】离线询问,按左端点排序。枚举区间的左端点 lll ,区间 [l,i][l,i][l,i] 的 andandand 和至多变化 O(LogV)O(LogV)O(LogV) 次,二分找到分界点,并找到其中是完全平方数的。每一段 andandand 和相同的区间 [l,i][l...原创 2018-10-06 16:04:18 · 362 阅读 · 0 评论 -
【LOJ3161】「NOI2019」I 君的探险
【题目链接】点击打开链接【思路要点】以下是笔者在考场上的做法,与标准解法存在一定区别。首先我们可以先讨论一下 A,BA,BA,B 两类数据的做法。对于 AAA 类数据,对每个洞穴以 12\frac{1}{2}21 的概率进行操作,此后观察一遍所有的洞穴,将同色的洞穴归为一类,递归处理每一类即可。对于 BBB 类数据,我们本质上需要计算每个节点 iii 的父节点的位置。点亮...原创 2019-07-31 14:29:33 · 1545 阅读 · 0 评论