【简】题解 AWSL090429 【噪音】】的更多相关文章

因为每次加上一头奶牛 是什么不重要 牛棚之间贡献除清空操作外无影响 就只要考虑 每个牛棚清空分x次 的贡献 x之和为k       求贡献和最小 一个牛棚清空x次 显然平均清空贡献最小 再用等差数列的公式求 之和就是裸的dp #include<bits/stdc++.h> using namespace std; #define ll long long #define C getchar()-48 inline ll read() { ll s=,r=; char c=C; ||c>;…
因为这有个时间的限制 并且  求的时间都是前缀和 那么 我们可以根据时间将排序 因为题中没有修改可以直接用背包预处理出答案 但是因为题目ci mi<=1e9   vi<=300 所以发现不能直接背包 发现vi很小 每个商品只能被选一次  能达到的最大的价值就是n*n 因为vi越大 费用单调不减 就可以二分求 #include<bits/stdc++.h> using namespace std; #define ll long long #define C getchar()-48…
因为每次只ban一个点 而且不是永久性的 预处理出每个点从上往下和从下往上的最大值 每次询问直接暴力 被ban掉点那行去掉那点的最大值 也可以直接预处理出每行的最大值和次大值 还有种做法貌似可以过 预处理出被ban的点是否在链上 是直接输出原本的最大的值 O(1)回答 不是暴力更新被ban的点会影响的到的那个菱形的区域   数组记录答案避免重复询问 最多这样更新n次 平均一次 n*n/4 总复杂度(n^3)/4 只要常数小+数据水就可以过了 #include<bits/stdc++.h> us…
预处理出每个原子最近的不能合并的位置 枚举当前位置和前面断开的位置合并 发现还是不能过 考虑用选段树优化 但是因为每次转移的最优点是在前面可以合并的范围内 dp值加上当前的到该点的最大值 因为每个位置的最大值每次更新不是只更新一个位置 是一次更新一段位置 所以直接维护复杂度爆炸 有种方法(套路) 是把最值的更新改为值的加减 因为每次是更新一段区间 且每个点到当前的位置的最值是单调不减的 所以每次的修改就可以是一段一段的 可以用单调栈来维护每种值的区间 就可以进行区间修改 #include<bit…
这题直接换根dp 记录在要转移的点的子树中有多少牛 #include<bits/stdc++.h> using namespace std; #define ll long long #define C getchar()-48 inline ll read() { ll s=0,r=1; char c=C; for(;c<0||c>9;c=C) if(c==-3) r=-1; for(;c>=0&&c<=9;c=C) s=(s<<3)+(s…
先考虑当要选的物品一定时 显然有个贪心 wi越小的要越先选 所以先按wi从小到大拍序 因为发现正着递推要记录的状态很多 并且wi的贡献与后面选了几个物品有关 考虑正难则反 倒着递推 提前计算wi的贡献就可以了 #include<bits/stdc++.h> using namespace std; #define ll long long #define C getchar()-48 inline ll read() { ll s=0,r=1; char c=C; for(;c<0||c…
这是一篇蒟蒻被大佬踩爆后写的笔记 套路 0.贪心(废话)(排序...) 1.dp预处理出要用的东西 2.两头同时dp 3.化简题目中本质相同的东西 转化模型 4.数学计算优化 5.分析题目数据考虑该从哪里dp 6.正难则反 7.数据结构优化 题目(自动舍去0) [简]题解 AWSL090429 [数塔问题] /1/2/ [简]题解 AWSL090429 [噪音] /3/4/ [简]题解 AWSL090429 [市场] /5/ [简]题解 AWSL090429 [价值] /6/ [简]题解 AWS…
[题意] 输入一个\(C\)个点\(S\)条边 \((C<=100)\) \((S<=1000)\)的无向带权图,边权表示该路径上的噪声值.当噪声太大时,耳膜可能会收到损伤,所以当你从某点去往另一个点时,总是希望路上经过的噪声最大值最小.输入一些询问,每次询问两个点,求出这两点间最大噪声值最小的路径.输出其最大噪声值 [算法] \(Floyd\) [分析] 本题的做法十分简单:直接用\(Floyd\)算法,但是要把\(+\)改成\(min\),\(min\)改成\(max\). 为什么可以这样…
传送门:P5283 [十二省联考2019]异或粽子 题目大意: 给一个长度为n的数列,找到异或和为前k大的区间,并求出这些区间的异或和的代数和. QWQ: 考试时想到了前缀异或 想到了对每个数按二进制拆分 最高位取一定比前面所有取优 但是呆住了 没有想到是对前缀异或拆分 对于位运算等操作可以考虑 线性基和trie 因为 ai​ xor aj​=aj​ xor ai 所以吧这种情况算进去就取ans/2 因为 i​=j 时异或为0是最小的 不会影响答案 把各个前缀异或插进数组 询问强制以每个点为前面…
传送门:P4297 [NOI2006]网络收费 题目大意: 给定一棵满二叉树,每个叶节点有一个状态(0,1),任选两个叶节点,如果这两个叶节点状态相同但他们的LCA所管辖的子树中的与他们状态相同的叶节点个数较少(少于1/2),则会产生2f的代价,如果状态不同,则产生f的代价,如果状态相同且LCA管辖子树中与他们状态相同叶节点个数较多,则不产生代价,现在每个节点可以变更状态,但变更状态也有自己的代价,求最小总代价(来自leozhang大佬) QWQ: 因为各个点互相之间的贡献由各个点之间的LCA的…
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我没看,看不懂. 基本思路:我不会. 参考代码:找Oyk老师和Czj老师去. B. The background of water problem 题目大意(大写加粗的水题):给定$N$个学生和他们$K$个科目的成绩$S_i$,再给出各科目$K_i$的权重顺序$Q_i$,求排名之后,拥有id为$X$的…
博客搬至blog.csgrandeur.com,cnblogs不再更新. 新的题解会更新在新博客:http://blog.csgrandeur.com/2014/01/15/LeetCode-OJ-Solution/ ———————————————————————————————————————— ———————————————————————————————————————— LeetCode OJ 题解 LeetCode OJ is a platform for preparing tech…
这场就做出一道题,怎么会有窝这么辣鸡的人呢? 1001 A Boring Question(hdu 5793) 很复杂的公式,打表找的规律,最后是m^0+m^1+...+m^n,题解直接是(m^(n+1)-1)/(m-1),长姿势,原来还能化简…… 我既然不会推公式,也没啥好写的.写一下我打表的代码吧…… #include <cstdio> typedef long long ll; int n, m; ll sum; ll fac[]; ]; void init() { fac[] = ;…
[T1] [简要题意]   长度为N的括号序列,随机确定括号的方向:对于一个已确定的序列,每次消除相邻的左右括号(右左不行),消除后可以进一步合并和消除直到不能消为止.求剩下的括号的期望.\(N \leq 2000\),保留三位小数. [做题过程]   看上去一道傻逼题,又让我涨姿势了.   直接按长度DP咯?仔细一想,要记录一直延续至今的待消左括号个数,所以起码是二维.所以就是 \(F_{i,j}\) 表示处理了前i个点,目前有j个待消的左括号.写了一半我才发现一个问题, $F_{i,j} $…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更方便的版本见:https://alg4.ikesnowy.com/ 这一节内容可能会用到的库文件有 PriorityQueue,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.4.1 解答 R R P O T Y I I U Q E U 优先队列的变化如下: 输入命令 优先队列 输出…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:https://alg4.ikesnowy.com/ 这一节内容可能会用到的库文件有 Quick,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.3.1 解答 2.3.2 解答 2.3.3 解答 N / 2 在快速排序中,一个元素要被交换,有以下两种情况 1.该元素是…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 Measurement 和 TestCase,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 1.5.1 解答 quick-find 的官方实现:QuickFindUF.java. 只要实现相应并查集,然后输入内容即可. 增加一个记录访问数组次数的类成员变量,在…
所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简单的例子: 43#9865#045 + 8468#6633 44445509678 其中#号代表被虫子啃掉的数字.根据算式,我们很容易判断:第一行的两个数字分别是555和333,第二行的数字是555. 现在,我们对问题做两个限制: 首先,我们只考虑加法的虫食算.这里的加法是\(N\)进制加法,算式中三个数都有\(N\)位,允许有前导的\(0\). 其次,虫子把所有的数都啃光了,我们只知道哪些数字…
我们 TM 怎么又要上文化课..我 哔哔哔哔哔哔 「SDOI2017」数字表格 题意 有 \(T\) 组数据,求 \[ \prod_{i = 1}^{n} \prod_{j = 1}^{m} fib[\gcd(i, j)] \] $ 1 \leq n, m \leq 10 ^ 6, 1 \leq T \leq 1000 $ 题解 又是一道莫比乌斯反演套路题.. \[ \begin{aligned} &\prod_{i = 1}^{n} \prod_{j = 1}^{m} fib[\gcd(i,…
这套题是 dy, wearry 出的.学长好强啊,可惜都 \(wc\) 退役了.. 话说 wearry 真的是一个计数神仙..就没看到他计不出来的题...每次考他模拟赛总有一两道毒瘤计数TAT 上午的官方题解可以看 dy0607 的博客,写的挺详细的. 「HAOI2018」奇怪的背包 题意 小C非常擅长背包问题,他有一个奇怪的背包,这个背包有一个参数 \(P\) ,当他向这个背包内放入若干个物品后,背包的重量是物品总体积对 \(P\) 取模后的结果. 现在小C有 \(n\) 种体积不同的物品,第…
树莓派(Raspberry Pi)运行的系统是基于Debian的,不仅可以运行Shell,还支持systemd和docker,可以编写一个简单的服务,让其在启动时运行,执行一些自动化的操作.这里在RaspPi Zero W上使用shell.systemd和Docker 18.06.1完成,详细步骤介绍如下. 1.初始化系统 从树莓派官网(https://www.raspberrypi.org/)下载镜像,烧写到SD卡(我用Etcher). 下载:https://www.raspberrypi.o…
P3830 随机树 坑题,别人的题解我看了一个下午没一个看得懂的,我还是太弱了. 题目链接 P3830 [SHOI2012]随机树 题目描述 输入输出格式 输入格式: 输入仅有一行,包含两个正整数 q, n,分别表示问题编号以及叶结点的个数. 输出格式: 输出仅有一行,包含一个实数 d,四舍五入精确到小数点后 6 位.如果 q = 1,则 d 表示叶结点平均深度的数学期望值:如果 q = 2,则 d 表示树深度的数学期望值. 说明 第一问很水,考虑每次新拓展节点就是让树的总深度加上 2 也就是:…
A - Acperience HDU - 5734 题意: 给你一个加权向量,需要我们找到一个二进制向量和一个比例因子α,使得|W-αB|的平方最小,而B的取值为+1,-1,我们首先可以想到α为输入数据的平均值,考虑到是平方和,然后化简表达式,可以得到一个化简的式子,用n通分,可以做到没有除法,然后分子分母化简到互质. #define _CRT_SECURE_NO_WARNINGS #include<cstdio> #include<cstring> #include<iom…
题面 题解: T1: 先对图进行染色,重新对联通快重新建图 根据四色定理,珂以得出这实际是一颗树 因为树的中心肯定是最佳的决策,所以答案就是树的直径/2(上取整) #include <bits/stdc++.h> #define N 1005 using namespace std; inline int read() { register int x=0,f=1;register char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 Geometry 和 Commercial,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题 & 题解 练习(1.2.1~1.2.14) 1.2.1 解答 这里自己实现了一个 Point2D 类(包含在了 Geometry 库中). JAVA 版本参考:http://a…
估分 大佬们都去写题解了,我不写可能会被老师训诶.... 预计分数:100 + 100 + 5 + 100 + 25 + 100 = 430 实际 :80 + 100 + 0 + 100 + 25 + 25 = 325 心路历程 dAY1 T1 wocT1这么鬼畜,1h后不会做... 上个厕所 然后把路径打了个表 然后挂了20 T2 上厕所回来后把T2做了 树状数组维护一下好了 T3 不是,我以为你那个棱柱图是骗人的呢 然后我自己画了个 基环树,然后做了1.5h 然后赛后发现画错图了,这tm不是…
喵哈哈村的古怪石碑(一) 题解:暴力check一下是等比数列还是等差数列,然后输出答案即可.注意如果数据范围是1e9的话,就要快速幂了. 代码: #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <iostream> //#define LOCAL const int N=100+10; const int MOD=100007;…
思路(来自题解): 众所周知树上两个点xy的距离是deep[x]+deep[y]-deep[lca(x,y)]*2 然后我们把这个加减法换成异或,我们就会发现,deep[lca(x,y)]被消掉了 所以题目就简化成w是每个点的前缀异或和,只要找到一对最大的(x,y)让w[x]^w[y]最大就行了,这个经典问题用字典树就能解决了. 代码: #include<set> #include<map> #include<stack> #include<cmath> #…
初期:一.基本算法: (1)枚举. (poj1753,poj2965) poj1753 话说我用高斯消元过了这题... poj2965 巧了,用高斯消元01矩阵更快(l o l). (2)贪心(poj1328,poj2109,poj2586)(completed) poj1328 题目可以转化为将以每个岛屿为圆心,半径为d的原与x轴的交点构成的共n个区间,分成尽可能少的块,每个块中的区间有个交集(公共区间至少为一个点).那这就是经典的贪心了. poj2109 这似乎用二分+高精就过了好吧...…
喵哈哈村的魔法考试 Round #1 (Div.2) 题解 特别感谢出题人,qscqesze. 也特别感谢测题人Xiper和CS_LYJ1997. 没有他们的付出,就不会有这场比赛. A 喵哈哈村的魔法石 暴力(qscqesze):观察数据范围,显然最多10000个A,10000个B,所以最暴力的做法就是两个for循环,一个forA,一个forB,复杂度就是O(10000*10000),这个出题人因为是div2 A,所以就直接放过了的. 机智的做法(CS_LYJ1997):在暴力的基础上优化,第…