首页 > TAG信息列表 > BZOJ

[BZOJ-1280]猪 题解

题目 题目描述 Emmy在一个养猪场工作。这个养猪场有M个锁着的猪圈,但Emmy并没有钥匙。顾客会到养猪场来买猪,一个接着一个。每一位顾客都会有一些猪圈的钥匙,他们会将这些猪圈打开并买走固定数目的猪。所有顾客有的钥匙和他们需要买猪的数量在事先都告诉了Emmy,于是Emmy要订一个计划,

BZOJ #4498. 魔法的碰撞

题面传送门 首先你先不要管中间距离大于两个人之间最大值的情况,先假设其全部为等于最大值。设这个和为\(j\),则这个方案的方案数为\(C_{L-j+n}^{n}\)。 因为\(d_i\)不大,所以我们可以将所有\(nd\)种距离的方案数算出来之后计算答案即可。 关于两个点的最大值容易想到按照权值大小排

BZOJ-2724 蒲公英

蒲公英 求区间众数 分块 用的蓝书法二做的:预处理每个区间的最大众数,然后二分检查更新答案,同时更新边角的答案,记得分块的数量的是 \(\sqrt{m * log_{2}n}\) 这个代码过不了 acwing 的:https://www.acwing.com/problem/content/251/ #include <iostream> #include <cstdio> #include

BZOJ#1085[SCOI2005]骑士精神

[SCOI2005]骑士精神 思路: 迭代加深,启发式剪枝 代码: #include <bits/stdc++.h> #define int long long int _ = 0, Case = 1; using namespace std; #define all(v) begin(v),end(v) #define nline '\n' const int N = 10; int d[N][N]; int a[N][N]; int b[N][N]; void in

BZOJ#1303中位数图

[CQOI2009]中位数图 因为是排列,不会出现相同的数字,把比b小的赋值为1,大于b的赋值为-1,则要是b为中位数必然这一段的和为0,(注意b的位置) 代码: const int N=200010; int a[N]; int s[N]; void solve(int Case) { int n,b; cin>>n>>b; for(int i=1;i<=n;i++) cin>>a[i];

#树形依赖背包,点分治#BZOJ 4182 Shopping

题目 给定一棵大小为 \(n\) 的树,每个点代表一种物品,其具有体积、价值和数量的属性, 现在选择一个连通块,使得里面所有点都被选中且体积不超过 \(m\),问最大价值。 \(n\leq 500,m\leq 4000\) 分析 树形背包比较难维护,考虑用dfs序拍平到序列上,并且多重背包直接二进制拆分。 设 \(dp[i]

BZOJ 4668 冷战

题面 个人Hydro域链接 团队洛谷题目链接 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕。 美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国及其盟国展开了数十年的斗争。在这段时期,虽然分歧和冲突严重,但双方都尽力避免世界

BZOJ 3714 Kuglarz

BZOJ 3714 Kuglarz 非常玄学的一道题....到现在还没理解为什么是最小生成树的题... 这里就从另一个角度解析题目,首先题目中每个杯子中是否藏有球可以视为0/1,而我们询问的一个区间的奇偶可以看做是若干个变量相异或的和,而每个变量的意义就是该杯子下是否藏有求0/1.那么我们的目的是

2022 寒假qbxt知识点

数据结构 分块 讲课的时候错过了呢。。 本身也不是很了解,So从头学起 树状数组 学过的 但是做的题太少了,可以刷刷题 线段树 很灵活的东西 刷题呀!!! 矩阵并 没接触过 也没细讲,再看看吧 扫描线 机房大佬讲过 好好复习吧 题 bzoj2957 即luogu4198 楼房重建(紫的(恐怖。。。。)) 可持久

BZOJ 1592. Making the Grade(思维,数据结构优化DP,以及三个拓展问题)[Usaco2008 Feb]【BZOJ计划】

整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 BZOJ简单题合集x 目录 BZOJ 1592. Making the Grade拓展问题一拓展问题二拓展问题三 BZOJ 1592. Making the Grade Weblink https://hydro.ac/d/bzoj/p/1592 Problem

Codeforces 刷题记录

自述   进了两次 ICPC World Final,本来该退役了,但机缘巧合又重新开始刷题了。没想到 BZOJ 居然无了,就只好刷 Codeforces 了。 传送门 Contest A B C D E 1 1 1 1 1 1

Bzoj 2969 矩阵粉刷

思想:期望,概率 #include <bits/stdc++.h> using namespace std; double P[1010][1010]; const double eps = 1E-9; double quick_power(double a, int b) { if (b == 0) return 1; double ans = quick_power(a, b >> 1); ans = ans * ans; i

BZOJ 3262--陌上花开

#include<bits/stdc++.h> #define maxn 100006 #define maxm 200006 #define lowbit(x) (x&-x) using namespace std; inline char nc(){ static char buf[100000],*i=buf,*j=buf; return i==j&&(j=(i=buf)+fread(buf,1,100000,stdin),i==j)?EOF:*i

BZOJ多校Day4

A 枚举每个 \(a_i\) 的因数即可。\(\mathcal O(n\sqrt{a_i})\)。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<stack> #include<set> #include<map

#费马小定理,BSGS#BZOJ 3285 离散对数解指数方程

题目 求最小的正整数 \(x\) 满足 \(g^{ax+b}\equiv c\pmod p\) 其中 \(p\) 是一个质数, \(g,a,b,c\leq 10^{1000000},p\leq 2^{31}\) 分析 先将 \(g^a\)和 \(g^b\) 用费马小定理求出来, 问题就转换成 \(b'\times {a'}^x\equiv c'\pmod p\) 这个直接套用 BSGS 就可以了 代码 #inclu

[BZOJ 4311] 向量

一、题目 点此看题 二、解法 线段树分治可以解决在线插入难,在线删除难,回退难的问题。 就好比我们只会凸包的离线插入,那么在线段树上的每一个节点上维护一个凸包,然后去更新它管辖区间的所有询问即可,每个询问只会被更新 \(\log\) 次所以复杂度是对的。 忘了说这道题为什么要用凸包了

BZOJ #3784. 树上的路径

题面传送门 首先显然有一个三只log的做法,就是先二分,然后点分找大于这个值的路径,直接爆炸。 考虑有什么更优的方法,我们将点分治的顺序跑出来,然后发现一个点计算答案的区间一定是一段区间。 然后我们像超级钢琴那样就好了。 区间最大值的话如果是线段树是\(O(n+m)logn\),st表是\(O(nl

【题解】【BZOJ】BZOJ3782 上学路线

    BZOJ3782 上学路线 BZOJ3782 上学路线 1 题外话 奇怪的DP增加了 2 sol 直接删去坏点的难度有点大(暴力\(O(nm)\) ),考虑DP 设\(f[i]\) 表示从\((0,0)\) 走到第\(i\) 个坏点,中途不经过其他坏点的方案数 求某个\(f[x]\) 时,我们枚举它第一个经过的坏点\(i\) ,那么他的贡

BZOJ-4003 [JLOI2015]城池攻占

文章目录 题面题解 题面 传送门 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。 这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi <i。也就是说,所有城池构成了一棵有根树。这 m 个骑士用 1 到 m 的整数

【BZOJ 2957】楼房重建:线段树 + 单调栈

题目描述 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。 为了简化问题,我们考虑这些事件发生在一个二维平面上。小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和

【题解】【BZOJ】BZOJ4712 洪水

    BZOJ4712 洪水 BZOJ4712 洪水 1 题外话 鸽了好久 2 sol 首先考虑没有修改的情况,题目变成一个简单的dp 设\(f_i\) 表示从\(i\) 出发走不到所有其叶子节点的最小代价 则\(f_i=min(V_i,\sum_{t}f_t)\) 其中\(V_i\) 为删去\(i\) 点的权值,\(t\) 是\(i\) 的儿子 对树进

Solution -「BZOJ #3786」星系探索

\(\mathcal{Description}\)   Link.   给定一棵含 \(n\) 个点的有根树,点有点权,支持 \(q\) 次操作: 询问 \(u\) 到根的点权和; 修改 \(u\) 的父亲,保证得到的图仍是树; 将 \(u\) 子树内的点权增加一常数。   \(n\le10^5\),\(q\le3\times10^5\)。 \(\mathcal{Solution}\)   ETT

BZOJ 2165 大楼

BZOJ 2165 大楼 ​ 题目连接:https://remmina.github.io/BZPRO/JudgeOnline/2165.html ​ 很明显,答案是具有单调性的。如果乘坐次数少了肯定不行,多了肯定行。我们第一反应一定是二分。但是这道题并不是二分。因为我们如果二分答案的话,那为什么不直接一步一步做上去,每做一次就检查

[BZOJ 2523][Ctsc2001]聪明的学生(递归)

Description 一位教授逻辑学的教授有三名非常善于推理且精于心算的学生A,B和C。有一天,教授给他们三人出了一道题:教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个。于是,每个学生都能看见贴在另外两个同学头上的整数,但却看不见自

BZOJ 2720: [Violet 5]列队春游

概率和期望+组合数学 这个题有On,n2,n3的做法,这里主要说一下n的线性做法。 我和chy研究了无数题解才明白 根据期望的线性性,枚举每种可能的视野,把期望分解成 每种视野的视野长度×这种视野的概率 就是 $\sum_{i=1}^n i\times P(i) $ 然后我们可以给他做一个转化,看这个图 上面的公式