08 2019 档案
摘要:咕咕咕 单调队列板子题 一、基本 1.单调队列: 特殊的双端队列,内部元素。分为最大队列(单调递增)和最小队列(单调递减)两种 二、应用 本题中:大部分单调队列优化的动态规划问题都和定长连续子区间的最值问题 #include<bits/stdc++.h> using namespace std; i
阅读全文
摘要:咕咕咕 (动态规划不好..我从头学..) (动态规划很暴力的感觉,,,只要暴力就完了?母鸡唉) 题解 区间动规 重点就是将整体划分为区间,小区间之间合并获得大区间 状态转移方程的推导如下 一、将珠子划分为两个珠子一个区间时,这个区间的能量=左边珠子*右边珠子*右边珠子的下一个珠子 二、区间包含3个珠
阅读全文
摘要:(被数论支配的恐惧) (我飘了...dbq...正解太难了...暴力分对我也挺有好的...我不想写正解了...) (就这样吧...) T1-SZY 的神算(righttriangle) 题解: 注意有两种情况,所给的两条边 ,可能是两条直角边,也可能是一条直角边一条斜边 但是...如果两条边相等的话
阅读全文
摘要:题目大意 有 N 个仓库,排成了一排,编号为 1~N。假设在第 i 个仓库点燃艾条,烟雾就会充满该仓库,并向左右扩散Ai的距离,接着所有|i-j|<=Ai的仓库 j 的老鼠被消灭。最少需要多少支艾条。 题解 贪心的策略 不断找右端点最靠右(),且可以和之前选过的线段相连的线段,ans++。 时间复杂
阅读全文
摘要:题目大意 要建设一个村庄的网络 有两种操作可选 1、给中国移动交宽带费,直接连网,花费为 A。 2、向另外一座有网的建筑,安装共享网线,花费为 B×两者曼哈顿距离。 题解 显然的最小生成树的题 见一个虚拟源点,将每个点和那个虚拟源点连一个边权为A的边 其余每个点之间连边,边权即为曼哈顿距离*B 于是
阅读全文
摘要:emm IOI原题(洛谷,bzoj都有) 其实并没有怎么搞懂dp方程转移那部分 就...粘个(抄来的)代码过来吧 #include<bits/stdc++.h> using namespace std; inline int read() { int sum = 0,p = 1; char ch =
阅读全文
摘要:题目大意 略... 题解 开始两个人一定是一个向右走一个向下走,向右走的人最终会走到(n-1,m),向下走的人一定会走到(n,m-1)。 那么不考虑重复的话总的路径数就是从(1,2)到(n-1,m)的路径数*从(2,1)到(n,m-1)的路径数,这个用 dp 就可以解决,dp 方程是dp[ i ][
阅读全文
摘要:题目大意 裴蜀定理 题解 很简单... 我这个蒟蒻都猜的出来... 就求所有数的最大公约数 但注意 要加绝对值 因为gcd里面不能传负数 #include<cstdio> #include<cmath> #include<algorithm> #define ll long long using n
阅读全文
摘要:题目大意 lue.. 题解 先跑一遍tarjan缩点,在新图中加入两个强连通分量之间的边,则此图为一个有向无环图(DAG)。则最终答案为1点所在的强连通分量或包括1点的几个强连通分量的点数之和。 如果为几个强连通分量则由于该图为DAG而题中要求为从1点出发又回到1点, 故路径中一定包含一条反向边。又
阅读全文
摘要:圈(circle) 题目大意 一开始看这道题,觉得有点像备用钥匙那道题,需要离散化, 把一个球的两个点分开看... 但是..其中的规律我推不出来 (不是很难,只是蒟蒻好久都没有自己独立思考了) 题解 题解给的是离散化+线段树...有一点点麻烦 看到其他轻松切题的大佬的代码 但关键部分的思想都是一样的
阅读全文
摘要:数字number 题目大意 给定n,k,s,从1到n中取出k个数,使其之和等于s 求可行的方案数(模1e9+7) 题解 一眼dp,于是我去写了dfs,带着少的可怜的剪枝,快乐的tle着... 设 f[ i ][ j ][ q ] 表示在前 i 个数中选 j 个使其和为 q 的方案数 则 f [ i
阅读全文
摘要:咕咕咕 这题数据有点水...我直接求矩阵和,比较矩阵大小...还a了 矩阵hash棵题 唉...懒得写正解了...既然假的都过了 //bzoj 2462 //二维hash #include<cstdio> #include<cstring> #include<algorithm> #include<
阅读全文
摘要:题目大意: T组测试数据,每组测试数据给出一个n,求[0,n-1]所有逆元的和。(n可能不为质数) 题解: 我的想法: 求出每一个数的逆元,再相加。由于有n为质数的时候,所以,我将它分为两种情况:(1)n为质数是,线性求逆元(2)n不为质数时,扩展欧几里得求逆元 理论上可以拿个60分的...但我数组
阅读全文
摘要:洛谷板子题 (听过不止一遍,然而却一直没写过板子,于是今天模拟少了40分暴力分...) 一、字符串修饰 首先要修饰一下读进来的字符串。 为什么呢? 看两个字符串: ABCCBA ABCDCBA 显然这两字符串是回文的 然而两个串的对称中心的特性不同,第一个串,它的对称中心在两个C中间,然而第二个串,
阅读全文
摘要:题目大意 略... (吐槽这题面...让我毫无阅读兴趣) 题解 首先要求出在以两条斜线为新坐标轴下,每个点的坐标 那么....按x先排序 再求y的最长上升子序列 复杂度O(nlogn)吧 记得开longlong #include<cstdio> #include<algorithm> #includ
阅读全文
摘要:题目大意 给一棵树,求∑∑w_i*w_j*w_LCA(i,j) w_i表示i点权值 题解 显然一点点求lca是肯定会tle的 那就想如何优化 i和j的lca和j和i的lca是一样的 DFS,在每个x处,统计以它为LCA的答案总和 假设x有k个子树,权值和分别是S1,S2,…,Sk 设P=S1+S2+
阅读全文
摘要:题目大意 m个操作, 1:添加一个字符串 2:查询字符串s是否被添加过(中至多包含一个通配符“*”) 题解 trie树可以得部分分 用map映射 '*'就枚举26个英文字母来判断就可以了 #include<cstdio> #include<algorithm> #include<iostream>
阅读全文
摘要:对于⼀个已知的Ans,更新Ans的条件为:(P1 + P2 + …… + Pk) / (T1 + T2 + …… + Tk) > Ans变形后:P1 – T1 * Ans + P2 – T2 * Ans + …… + Pk – Tk * Ans > 0所以将Pi – Ti * Ans作为边权,⼆分A
阅读全文
摘要:一道思维题?! 找到最⼤大的a使得a^3不超过m,接下来X的第⼀一块积⽊木必然为a或a-11.⽤用a,m2=m-a^32.⽤用a-1, X最⼤大为a^3-1, m2 = a^3-1-(a-1)^3=a^2-a3.⽤用a-2, X最⼤大为(a-1)^3-1,m2=(a-1)^3-1-(a-2)^3=a
阅读全文
摘要:其实很简单的啊,就简简单单的分别记录两个数组中每个字母出现的次数,分别排序,判断是否相同就好。 我看完题,想出了一个极其错误的思路:直接把储存字符的数组排序,再判断a[ i ] + (b[1] - a[1])是否等于b[ i ] 。为什么错误呢?因为这么加不会使Z跳回A而会使Z跳到其它字符(根据as
阅读全文
摘要:咕咕咕 由于我好久都没有独立思考了(抄了好久题解),思维什么的早没有了。 看完题只能想到一种暴力:遍历+LCA 题目给出的是一个最小生成树,我们可以从边入手,把每条边所连的左右两个点分别看做一个集合, 左边集合和右边集合所要连的边数是(cnt[i]*cnt[j]-1),-1是因为要抛去本身这条边 我
阅读全文

浙公网安备 33010602011771号