- 博客(34)
- 收藏
- 关注
转载 国庆集训Day1
国庆集训Day1题解T1 divide题意:有\(n\)个数 \(a_1, a_2,..., a_n\) 有m个数\(b_1, b_2,..., b_n\)令\(a = a_1\times a_2\,\times ... \times \,a_n\)令\(b = b_1\times\,b_2 \times\,...\,\times\,b_n\)判断\(a\)是否是\(b\)的...
2019-10-01 18:10:00 249
转载 初赛复习
初赛复习1.语言的分类1.编译性语言由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它例:C/C++、Pascal/Object Pascal(Delphi)、VB等2.解释性语言一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言例:Java、JavaSc...
2019-09-26 13:54:00 271
转载 JXOJ 9.7 NOIP 放松模拟赛 总结
JXOJ 9.7 NOIP 放松模拟赛 总结比赛链接T1 数数题意:有a个红球,b个黄球,c个蓝球,d个绿球排成一列,求任意相邻不同色的排列的数目 1 <= a , b, c, d <= 30 答案对1e9 + 7 取膜用的类似数位dp的方法记忆化搜索,复杂度O(a4),我的方法可能常数有点大,但还是挺易懂的。#include <iostream>...
2019-09-16 12:12:00 269
转载 joxj 模拟赛 2019年9月3日
joxj 模拟赛 2019年9月3日比赛题目来源:2018qbxt合肥Day1T1 最小公倍数题意:已知正整数n,求n与246913578的最小公倍数,结果对1234567890取模数据范围:1<=n<=10100000由lcm = a * b / gcd(a,b) (mod 1234567890)发现除数巨大,需要取模,考虑乘法逆元,但b,1234567890不...
2019-09-03 21:20:00 217
转载 图论复习
图论复习最短路多源最短路算法:Floyd其实本质上是一种dpf[i][j][k]表示i到j允许通过前k个点的最短路径长度一开始所有点都无法作为中转点,然后逐步允许放开每个点最为中准点每步的转移有两种决策:是/否通过第k个点由于k是递增的,且当k一定时,f[i][k][k]和f[k][j][k]的值都是不变的,故我们只需要用一个二维数组f[i][j]表示i到j的最短路长度即...
2019-08-31 23:14:00 156
转载 斜率优化dp
斜率优化dp一种和数学联系很大的\(dp\)的优化方式做题时的思路一般如下:如果做\(dp\)题时,这道题转移\(dp[i]\)的值时需要用到前面的决策\(dp[j]\)的值,且出现了i与j的乘积时,考虑斜率优化做题步骤如下:一.根据题意,灵活列出一般的不含前缀和优化的\(dp\)方程,然后根据\(dp\)方程的特点,加上前缀和优化(其它的前缀优化的题也可以这么做)二.将只与...
2019-08-28 23:11:00 154
转载 两种dp模型
两个常见模型bzoj 4321题意:编号为1~n的人排成一排,问有多少种排法使得任意相邻两人的编号之差不为1或-1。n<=1000排列计数问题:考虑把数从小到大插入的过程进行dp。设 f[i][j] 表示 1∼i 的排列,有 j 组相邻的相差1,且 i 和 i−1 不相邻的方案数;设 g[i][j] 表示 1∼i 的排列,有 j 组相邻的相差1,且 i 和 i−1 相邻...
2019-08-25 16:40:00 277
转载 期望与概率dp
概率与期望dp定义:概率:事件A发生的可能性,计作P(A)期望:事件A结果的平均大小,记住E(x) E(x)=每种结果的大小与其概率的乘积的和注意计算概率时需要考虑是否要用容斥原理期望dp时注意有时要用倒序枚举其实本质和其他的dp没什么区别例题概率充电器题面题意:n个充电元件由n-1条导线连通,每个充电原件自身是否直接充电以及每条导线是否导电都由概率决定,求进入充...
2019-08-24 23:14:00 122
转载 Codeforces Round #580 (Div. 2)
Codeforces Round #580 (Div. 2)这次比上次多A了一道,但做得太慢,rating还是降了。Problem A Choose Two Numbers题意:给出两个集合A,B,从A,B中分别选出元素a,b使得a+b既不属于集合A,又不属于集合B数据范围:1<=集合A,B的大小<=100 1<=a,b<=200我的做法是直接模拟就好了...
2019-08-19 11:30:00 125
转载 状压dp
状压dp当题目中的某一项的值极小(小于等于\(20\))时考虑使用状压\(dp\)状压\(dp\)是二维时一般是\(dp[i][s]\)表示进行到第\(i\)步且第\(i\)步的状态为\(s\)时的\(dp\)值状压\(dp\)由于是二进制,多与位运算的操作有关以下是一些常见的位运算操作:\(1.s\&(1<<i)\) 判断第\(i\)位是否为\(1\)...
2019-08-18 21:49:00 127
转载 NOIP2017
NOIP(怀古ing) 2017Day1T1 小凯的疑惑数学题,打表找规律吧(雾或许能用同余最短路做?ans=a*b-a-b#include <iostream>#include <cstdio>using namespace std;long long a,b;int main(){ scanf("%lld%lld",&a,...
2019-08-18 15:54:00 79
转载 对拍器
如何写出一个对拍程序本文代码转载于https://blog.csdn.net/c20190102/article/details/60138907众所周知,对于oier来说,写出一个好的对拍程序对于在考场上提高自己程序的正确性是很有必要的。首先是生成随机数的程序#include<cstdio>#include<ctime>//#include<c...
2019-08-14 16:16:00 186
转载 广搜优化题目总结
广搜优化题目总结电路维修*题面这道题之前打过,但那时候打题太水了,没有真正掌握这道题的知识点。(果然我还是太蒻了)这道题的解法是先建边,对于每一个单位正方形,将有边相连的两个对角建一条长度为0的无向边,另外两个对角建一条长度为1的无向边。然后可以跑最短路或者用双端队列bfs(0-1bfs)。跑最短路的话要注意由于是网格图spfa会炸掉,所以要用堆优化的dijkstra( ~~不...
2019-08-12 23:03:00 164
转载 Codeforces Round #578 (Div. 2)
Codeforces Round #578 (Div. 2)第一次打CF,,,很水的第三题把题读错了,现在rating还没有初始rating高A Hotelier模拟#include <iostream>#include <cstdio>#include <cstring>using namespace std;string str;...
2019-08-12 14:39:00 98
转载 填坑之归并排序
填坑之归并排序归并排序:复杂度:稳定的O(nlogn)空间:两倍空间应用:求逆序对算法思想:将数据划分为若干个有序的小区间,每次将两个区间合并时也许满足有序逆序对 洛谷P1908方法一:利用归并排序的思想,每次出现右端区间的数小于左区间时,统计出现的逆序对数#include <iostream>#include <cstdio>using na...
2019-08-11 18:28:00 109
转载 深搜剪枝题目总结
深搜剪枝总结深搜剪枝分5种:1.优化搜索顺序2.排除等效冗余3.可行性剪枝4.最优性剪枝5.记忆化搜索数的划分可行性(上下界)剪枝由于答案中的数不考虑顺序,不妨设它是单调递增的则对a[i],下界是a[i-1],上界是rest/(k-i+1)#include <iostream>#include <cstdio>using namespac...
2019-08-11 18:02:00 388
转载 NOIP2018
NOIP2018TGDay1T1 Road贪心:差分#include <iostream>#include <cstdio>#include <algorithm>using namespace std;#define Maxn 100100int n,ans;int a[Maxn];int main(){ scanf(...
2019-08-03 21:30:00 102
转载 数位dp
数位dp一类套路dp题数位dp一般与数的大小无关,而与数的组成有关。从高位枚举到低位,如果这一位与原数的同一位不同,且满足上限的限制,则后面可以随便填,可以用f数组来储存这个值,这也是为什么记忆化搜索时需要判断(! limit)数位dp一般用记忆化搜索来实现,方便快捷。f数组中的维度由题目给出的限制数量决定,相当套路前导0的问题:如果前导0对答案有影响(如windy数和手机号...
2019-07-29 13:15:00 157
转载 整数划分问题模型
整数划分问题模型问题一: 求把n划分成k个正整数的方案数?暴力dp:(暴力dp要做到不重不漏)设dp[i][j][sum]表示前i个正整数,选了j个数,和为sum的方案数,答案是:dp[n][k][n]本质:完全背包复杂度:O(n*k*n)正解:直接设dp[i][j]表示把i划分成j个数的方案数则dp[i][j]=dp[i-j][j]+dp[i-1][j-1](可从数形结...
2019-07-28 16:03:00 269
转载 梦幻岛宝珠
梦幻岛宝珠一道非常巧(e)妙(xin)的分层背包dp题最后吸氧强行过(发现大部分人都是这样过的...)解析不想写了,看这篇吧<https://blog.csdn.net/bfk_zr/article/details/78177869?utm_source=debugrun&utm_medium=referral#include <iostream>#i...
2019-07-27 22:57:00 153
转载 消失之物
消失之物ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN。 由于她的疏忽, 第 i 个物品丢失了。 “要使用剩下的 N - 1 物品装满容积为 x 的背包,有几种方法呢?” -- 这是经典的问题了。◦她把答案记为 Count(i, x) ,想要得到所有1 <= i <= N, 1 <= x <= M的 Count(i,x) ...
2019-07-26 22:30:00 180
转载 背包dp
背包dp背包dp◦一般是给出一些“物品”,每个物品具有一些价值参数和花费参数,要求在满足花费限制下最大化价值或者方案数。◦最简单几种类型以及模型◦ 0/1背包◦完全背包◦多重背包0/1背包给出n个物品,每个物品有Vi的价值和Wi的费用,我们总共有m块钱,求最多能得到多少价值的物品。二维写法:dp[i][j]表示前i个物品,花费j元,能得到的最大价值mems...
2019-07-26 16:36:00 82
转载 烽火传递
[NOIP2010初赛]烽火传递◦有n个数,选择其中若干数,使得每连续m个数中都至少有一个数被选中,且选出的数的和最小。(数的大小小于等于1000(不会爆int))◦ m<=n<=1000。 (弱化版)◦ m<=n<=100000。单调队列优化的dp板子题。先考虑弱化版怎么做:设dp[i]表示前i个数满足题意且第i个数被选出的情况下,选出的数的和的...
2019-07-25 16:30:00 106
转载 网格
BZOJ3907 网格某城市的街道呈网格状,左下角坐标为 A(0,0)A(0,0),右上角坐标为 B(n,m)B(n,m),其中 n≥mn≥m。现在从 A(0,0)A(0,0) 点出发,只能沿着街道向正右方或者正上方行走,且不能经过图示中直线左上方的点,即任何途径的点 (x,y)(x,y) 都要满足 x≥yx≥y,请问在这些前提下,到达 B(n,m)B(n,m) 有多少种走法。解...
2019-07-25 13:28:00 141
转载 括号序列的dp问题模型
括号序列的dp问题模型Codeforces314E◦给定一个长度为n的仅包含左括号和问号的字符串,将问号变成左括号或右括号使得该括号序列合法,求方案总数。◦例如(())与()()都是合法的括号序列。◦ n<=3000。在括号序列问题中,总是把左括号看作+1,右括号看作-1,要使括号序列合法,只需满足任意一个前缀和大于或等于0,且总和为0即可设dp[i][j]表示...
2019-07-24 22:40:00 1399
转载 粉刷匠
粉刷匠bzoj1296 粉刷匠 (洛谷P4158)◦有n条木板要被粉刷,每条木板分为m个格子,每个格子需要被刷成蓝色或红色。◦每次粉刷可以在一条木板上给连续的一段格子刷上相同的颜色。每个格子最多被刷一次。◦问若只能刷k次,最多正确粉刷多少格子。◦ n,m<=50,k<=2500dp题。dp方程较难推,有两个dp值,包含了从局部到整体的解题思路当只有一条木...
2019-07-24 15:02:00 512
转载 木棍加工
木棍加工基础dp题先按 长度排序,长度相同的按宽度排序(贪心)。然后求关于宽度的不上升子序列覆盖数因为dilworth定理得(最小的)不上升子序列覆盖数=最长上升子序列长度所以求关于宽度的最长上升子序列即可#include <iostream>#include <cstdio>#include <algorithm>using name...
2019-07-24 11:38:00 224
转载 物流运输
物流运输基础dp题+最短路,就是细节有点多dp方程:设f[i]表示前i天的最少成本则 f[i]=min(f[i], f[j] + k + (i-j) * w(j+1,i) ) (j<i)细节1:区分清楚n和m细节2:枚举j时倒序枚举,方便求最短路时知道哪些码头不能通过细节3:dp[0]= - k (第一次走最短路不需要成本)#include <iostream&...
2019-07-24 11:30:00 124
转载 最短路图
最短路图对于一些只能在最短路径上操作且可能同时存在多条最短路的问题时,我们可以采用建最短路图的方法:就是将在最短路径上的边放入一个新的图当中,使得问题可以在一个DAG(有向无环图)上操作。具体实现方法:如果我们需要求从1到n的最短路图,可以先从节点1跑一遍单源最短路,再从n跑一遍单源最短路,(跑两遍最短路),然后枚举每个节点,如果从节点1到它的最短路加上从节点n到它的最短路等于从节点...
2019-07-23 16:36:00 626
转载 DP基础(线性DP)总结
DP基础(线性DP)总结前言:虽然确实有点基础......但凡事得脚踏实地地做,基础不牢,地动山摇,,,嗯!LIS(最长上升子序列)dp方程:dp[i]=max{dp[j]+1,a[j]<=a[i]}复杂度:O(n^2)LIS优化法一:数据结构无脑暴力优化 以a[i]为数组下标,从1到a[i]访问最大值,再加一,进行更新法二:设h[k]表示dp值为k的最长上升...
2019-07-22 16:53:00 563
转载 离散化
离散化问题模型离散化是指对于数据范围较大(1e9),但数的个数较少(1e5)的一些数进行操作(并查集等)时,需要通过比较这些数的相对大小,将其离散化,得到"1e5"以内的“离散化数值”,然后就可以将其储存在数组中,进行并查集等操作了。实现原理当离散化的数据无重复时,可以通过记录数组下标,直接在结构体内进行排序等操作update 于2019.8.15bool cmp(int...
2019-07-22 12:16:00 108
转载 树链剖分
树链剖分前言:虽然noip基本不考,但我觉得还是多少学一点吧问题模型对于树上的某条路径,进行一系列操作(类似线段树上的操作)实现原理恰如其名,将树剖分成一段又一段的区间(树链),便于我们进行线段树的操作(树上的线段树操作)。将树分为重链和轻链,重链的dfs序(与其他dfs序不同,树剖的dfs序会优先落在重链上)多为一段连续的区间。因此当解决两点间路径上的查询和修改问题时,可...
2019-07-21 12:10:00 65
转载 差分约束系统
差分约束系统前言:在清北学堂模拟赛的差分约束题写炸了,感觉有必要来总结一下差分约束问题模型求解由若干不等式限制的一组最大或最小未知数解思想当我们求解形如X1-X2<=d的问题时,我们会发现将式子变化为X1<=X2+d和最短路问题里的三角不等式dis[u]<=dis[v]+w极为相似,故我们可以将不等式组的最值求解问题转化为求解最短路的问题。我们求解Xn-X...
2019-07-21 11:44:00 104
转载 序章
懒惰的我终于开始写博客了距离noip提高组复赛(退役)还有一个暑假(40天)了 update于2019.8.18我觉得有必要写写博客,记录一下自己学习OI的心得希望能对自己和看到博客的人带来收获转载于:https://www.cnblogs.com/Akaina/p/11220477.html...
2019-07-21 10:53:00 61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人