OI/ACM之分治
OI/ACM分治
「已注销」
前oi选手。
重庆市南开中学高2020级毕业生。
重庆大学计算机系2020级学生。
QQ1954486214欢迎添加讨论~
展开
-
BZOJ 2946 「POI2000」公共串【二分答案】【哈希】
第一反应这道题是不是可以用后缀自动机后缀数组等等可做?可是我这些都不会啊!于是就写了二分答案和哈希…我最开始的时候还把哈希写错了真是太菜了啊。#include <map>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#inclu...原创 2018-10-24 16:48:58 · 222 阅读 · 0 评论 -
NKOJ 1682 软件下载【二分答案】【贪心】
#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long long#define rep(i,x,y) for(ll i=(x);i<=(y);i++)#define...原创 2018-10-19 00:48:36 · 186 阅读 · 0 评论 -
NKOJ P3802 不死【状态压缩】【二分答案】
二分答案即可,状压是比较普通的状态:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long long#define rep(i,x,y) for(ll i=(x);i&l...原创 2018-09-23 10:47:06 · 259 阅读 · 0 评论 -
BZOJ P1196 [HNOI2006]公路修建问题【最小生成树】【二分答案】
二分一下答案然后生成树随便验证一下:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define DB double#define SG string#define LL long long...原创 2018-09-20 21:53:25 · 204 阅读 · 0 评论 -
BZOJ P1044 [HAOI2008]木棍分割【二分答案】【动态规划】
#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define rep(i,x,y) for(int i=(x);i<=(y);i++)#define repl(i,x,y) for(int...原创 2018-09-18 18:33:16 · 286 阅读 · 0 评论 -
Codeforces 865C Gotta Go Fast【二分答案】【期望DP】
题目描述 一个游戏一共有nnn个关卡,对于第iii关,用AiAiAi时间通过的概率为PiPiPi,用BiBiBi通过的时间为1−Pi1−Pi1-Pi,Ai<BiAi<BiAi000并从第一关开始,要求通过所有关卡的时间总和不能超过mmm才算完成通关任务,问完期望最少玩多长时间才能完成通关任务? 玩家非常聪明。f[i][j]f[i][j]f[i][j]表示到达第iii关,用...原创 2018-08-19 19:58:14 · 341 阅读 · 0 评论 -
NKOJ P2076「NOIP模拟」家庭作业【单调队列优化动态规划】【二分答案】
题目描述 HZHZ HZ 的作业共有NN N道题,每道题需要titit_i的时间来完成,HZHZHZ只有TTT的时间来做作业,HZHZHZ会选择一些题空着,但是空太多了老师会生气滴……老师的生气程度为HZHZHZ最长连续空着的题数。 现在,HZHZHZ想知道,老师的生气程度最小能是多少?二分一个答案值xxx,表示当前限制的老师最小生气程度为xxxf[i]f[i]f[i]表示...原创 2018-08-09 11:32:30 · 416 阅读 · 0 评论 -
BZOJ 1567 [JSOI2008]Blue Mary的战役地图【二分答案】
直接二分答案暴力枚举。看到其他题解说需要用哈希存一下矩阵但是实际上没有必要。尽管暴力枚举的时间复杂度十分高但是实际上我们在验证的时候会减掉许多不存在的情况:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorith...原创 2018-10-19 09:29:45 · 189 阅读 · 0 评论 -
BZOJ 1816 [Cqoi2010]扑克牌【二分答案】【贪心】
直接二分答案然后贪心验证:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define db double#define sg string#define ll long long#def...原创 2018-10-19 10:16:38 · 233 阅读 · 0 评论 -
ZOJ 3278 8G Island【二分答案】
十分简单的一道二分答案了:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long long#define rep(i,x,y) for(ll i=(x);i<=(y...原创 2018-10-16 19:43:02 · 358 阅读 · 0 评论 -
BZOJ 1271 [BeiJingWc2008]秦腾与教学评估【二分答案】
直接二分答案即可:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define db double#define sg string#define ll long long#define ...原创 2018-10-23 00:08:32 · 204 阅读 · 0 评论 -
BZOJ P2654 tree【Kruskal最小生成树】【二分答案】
题目分析:求满足题意的最小生成树的权值-&amp;gt;首先要满足要求-&amp;gt;选出的最小生成树有need条白边-&amp;gt;可是选出的最小生成树不一定有need条白边这么办-&amp;gt;对于每一次Kruskal-&amp;gt;我们可以得到当前最小生成树中白边的数量Cnt-&amp;gt;如果Cnt&amp;gt;need-&amp;gt;白边的数量比所需要的原创 2018-05-28 17:49:17 · 203 阅读 · 0 评论 -
BZOJ 5301 LOJ #2534. 「CQOI2018」异或序列【莫队】
CQOI多板子题,直接上莫队就好了:#include <bits/stdc++.h>#define ll long longusing namespace std;const ll N=1e5+5;ll n,m,k,s,ret,a[N],b[N],sum[N],cnt[N],ans[N];struct node { ll x,y,id;}ask[N];bool...原创 2018-11-01 01:45:47 · 194 阅读 · 0 评论 -
「NOIP模拟」蒜头君的排序【伪莫队】【树状数组】
求冒泡排序的交换次数即求逆序对数。按照正常的求逆序对的方法和莫队方法添加删除即可。注意不要把每次的ans清零。#include &amp;lt;cmath&amp;gt;#include &amp;lt;bitset&amp;gt;#include &amp;lt;cstdio&amp;gt;#include &amp;lt;cstring&amp;gt;原创 2018-11-06 11:58:03 · 316 阅读 · 0 评论 -
NKOJ P3735 秀肌肉【莫队】
原来lym学长这么健美嘛…嗯…这是一道比较板的莫队了,稍微修改一下InsertInsertInsert和DeleteDeleteDelete即可。对于InsertInsertInsert和DeleteDeleteDelete的话,我们只需要先减去原来的Cnt[X]2Cnt[X]2Cnt[X]^2,然后进行相应的Cnt[X]Cnt[X]Cnt[X]修改,最后在加上Cnt[X]2Cnt[X...原创 2018-07-22 16:52:47 · 169 阅读 · 0 评论 -
BZOJ P2120 数颜色【带修莫队板子】
没错莫队就是这么强!#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define SG string#define DB doubleusing namespace std;const ...原创 2018-07-21 15:43:26 · 193 阅读 · 0 评论 -
BZOJ P2038 [2009国家集训队] 小Z的袜子【莫队】
首先让我们考虑一下答案的表达式。设当前的询问区间为[Left,Right][Left,Right][Left,Right],且在当前区间中第iii种袜子有Num[i]Num[i]Num[i]支,那么Ans=C2Num[1]+C2Num[2]+C2Num[3]+...C2Right+1−LeftAns=CNum[1]2+CNum[2]2+CNum[3]+...2CRight+1−Left2Ans...原创 2018-07-21 14:08:02 · 142 阅读 · 0 评论 -
NKOJ P2387 「NOIP模拟」 赏花【莫队板子】
这道题在没学莫队之前用树状数组和线段树写了好久…然而莫队直接秒杀树状数组线段树做法…参考代码:#include &amp;amp;lt;cmath&amp;amp;gt;#include &amp;amp;lt;cstdio&amp;amp;gt;#include &amp;amp;lt;cstring&amp;amp;gt;#include &amp;amp;lt;iostre原创 2018-07-21 10:49:16 · 260 阅读 · 0 评论 -
BZOJ P3343 教主的魔法【分块】
大则分,分则合。#include <bits/stdc++.h>const int Max=1e6+5;int N,M,S,SNum;char CH[3];int A[Max],B[Max],Lazy[Max],Block[Max];using namespace std;int Find(int X,int V){ int I,J,K,L=(X-1)*S+1,R...原创 2018-07-30 05:15:04 · 167 阅读 · 0 评论 -
BZOJ P4756 [Usaco2017 Jan] Promotion Counting 【分块】
简单分块:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long long#define rep(i,x,y) for(ll i=(x);i<=(y);i++)...原创 2018-09-16 14:14:24 · 183 阅读 · 0 评论 -
NKOJ P2670 动态区间第K小数【分块】
这道题呢其实也是一个毒瘤….调了好久的代码这道题…..让我意识到自己对于stl的很多东西都还是不熟(比如lowerboundlowerboundlower bound,于是我就手写了一个二分查找)。当然这道题还是确实让我见识到了分块的强大….动态区间第KKK小数普遍的方法就是各种主席树,树套树来做,但是分块就除去了写各种树产生的不必要的麻烦(其实这算是我第一次真正写分块中间有很多地方细节最开始...原创 2018-07-10 22:49:07 · 211 阅读 · 0 评论 -
BZOJ P2002 [HNOI2010] 弹飞绵羊【分块】
这道题就很优秀了。考试的时候完全没想到正解,最后写了一个暴力20分……直接讲分块吧。我们预处理两个数组Step[],Get[]Step[],Get[]Step[],Get[],其中Step[i]Step[i]Step[i]表示第iii个数跳到下一块需要的步数,Get[I]Get[I]Get[I]表示第iii个数跳到下一块中的哪一个数,这样我们就只需要分块处理就可以了。再讲一下预处理与查询与...原创 2018-07-12 09:14:27 · 198 阅读 · 0 评论 -
BZOJ 1857: [Scoi2010]传送带【三分】
膜一波PhDPhDPhD大佬啊~~三分两个传送带的距离,然后相似算一下坐标:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define db double#define sg strin...原创 2018-10-21 20:42:56 · 182 阅读 · 0 评论 -
NKOJ 2723 PYC 的送分题【三分】
问题描述已知n 条二次函数曲线Si(x)=Aix2+Bix+Ci(Ai≥0)S_i(x)=A_ix^2+B_ix+C_i(A_i\geq 0)Si(x)=Aix2+Bix+Ci(Ai≥0),定义F(x)=max{Si(x)}F(x)=max\{S_i(x)\}F(x)=max{Si(x)},求出F(x)F(x)F(x)在[0,1000][0,1000][0,1000]上的最小值。...原创 2018-10-21 19:37:50 · 362 阅读 · 0 评论 -
NKOJ 3851 航运调度【三分板子】
问题描述某海域是国际海运枢纽,非常繁忙,N艘船只在航行。航运管理中心一直担心发生船只相撞事件。所以他们想知道,从现在开始,到哪一个时刻,这N艘船两两间的最大距离将达到最小。请你算出这个时刻,并求出这个最小距离。所有船只都沿直线航行,没有两艘船的前进方向和速度是相同的。输入格式第一行,一个整数N(N<=300)接下来N行,每行四个整数Xi,Yi,VXi,VYi。(Xi,Yi)表...原创 2018-10-23 00:33:22 · 209 阅读 · 0 评论