自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 [网络流]方格取数加强版

最大费用最大流,跑spfa时需要把边设成负的,输出时再取反建图思路:1.源点和汇点分别连向(1,1)(n , n),容量为k,费用为0,仅表示一共可以走k次;2.对于方格中的每个点,拆成两个点,分别为入点和出点。入点和出点之间连两条边,一条容量为1,费用为点的权值,表示每个点的数只可以取一次;另一条容量为inf,费用为0,仅表示可以经过无数次;3.对于在其下方或右边点的点,连一条容量为inf,费用为0的边,表示且仅表示一种联通的关系代码#include<iostream&..

2021-05-22 22:52:37 267

原创 网络流模板

一、网络最大流dinic算法算法过程:通俗理解,每次通过bfs对图进行分层,并查找增广路(可以增加流量的到达汇点的路径),然后做一次dfs,在这条增广路上计算可以增加的流量。对于每一条边,需要建立一条反边,巧妙的解决了回溯的问题。代码:#include<iostream>#include<cstring>#include<cmath>using namespace std;int n,m,k,last[100010],st,ed,ans;str

2021-05-22 22:48:58 144

原创 [HAOI2008]硬币购物

多重背包,容斥定理解决1、首先当成完全背包预处理,用f[i]记录总金额为s时的完全背包的方案数2、再用容斥原理将不合法的部分减去 当第i种硬币取了至少d[i]+1个时为不合法的情况。 则: 3、通过二进制来枚举不合法的硬币(方法与CF451E一致https://mp.csdn.net/editor/html/116894011)代码:#include<iostream>#include<cstdio>#include&...

2021-05-22 22:33:42 119

原创 (dp/费用流)CF1525D Armchairs

本题有两种解法,dp或者是网络流一、dp可以证明对于需要挪的两个位子a , b 且 a≤b以及两个空位c , d 且 c≤d,a挪到c并且b挪到d会不劣。考虑到可以把题目中的要求抽象为每个移动路径覆盖了一段区间,最小化每两个相邻椅子之间的这1单位距离被覆盖的总次数。这样的话如果出现了包含,那么外层的路径多出来的一部分一定可以接到被包含路径的末尾。意会一下,体现到本题的模型上就是“如果一个人需要走过另一个和他移动方向相同的人已经占下的椅子时,第一个人在这个椅子坐下,让第...

2021-05-22 22:16:48 242 2

原创 [容斥原理、排列组合、逆元]CF451E Devu and Flowers

一道有些难度的排列组合题知识点:排列组合,大整数除法的取模,容斥定理,状态压缩多重集的排列组合1.多重集的排列数

2021-05-16 19:19:21 144

原创 Cow Digit Game

简单博弈论思路暴力递推预处理,子状态有必败状态的状态为必胜状态,子状态全为必胜状态的状态为必败状态,每一个数有两个子状态,减每一位中最小数或最大数,枚举每一位找最大最小值就可以。复杂度o(10^7)...

2021-05-15 20:42:01 99

原创 Nim游戏

经典博弈论模型nim游戏的母题状态分析首先抛出结论:当ai的异或和等于0时,是必输状态,否则为必胜状态简单证明:1.已知最终状态所有的a[i]都等于零,异或和s等于0,,显然为必输状态。2.当异或和为0,任意操作会使异或和不为0。3.故若某个异或和为0,不可能使下一步达到最终状态,因为最终状态异或和为0。既然不可能使下一步为最终状态,也就说明不可能使另一个人无路可走,也即己方的必败状态。4.显然在nim游戏中非必败即必胜,则补集异或和等于零为必...

2021-05-15 20:32:17 263

原创 树链剖分模板

树链剖分:树上统计的一种优秀算法,基本思想是用将树切割成几段长链再配合数据结构转为区间问题。我使用了线段树,需要注意的是树链剖分的额外空间极大,需要尽可能压缩线段树的部分并无改动。关键在于剖分的过程。分两次dfs完成第一遍求出每颗子树大小;每个节点的父亲节点、深度、重儿子(即子树大小最大的儿子)第二遍按照重儿子优先的原则将节点重新编号,分成长链,这样的做法可以使每条链上的序...

2019-12-11 17:57:15 150

原创 [惨痛教训]noip提高2000-乘积最大

题意:给定一个长度为n的数字串,求在其中插入k个乘号的最大乘积N,K(6≤N≤40,1≤K≤6,6≤N≤40,1≤K≤6)很水的区间dp,设dp[i][j]表示在前i位插入j个乘号的最大乘积。则有初始状态:dp[i][0]=submit(1,i); (submit(l,r)表示原数字串从l到r的字串)考虑枚举最后一个乘号的位置,则有转移方程:dp[i][j]=max(...

2019-11-01 11:10:08 271

原创 洛谷P1271-重建道路

题面:https://www.luogu.org/problem/P1272这题是一道树形dp设dp[i][j]表示以i为根的节点保留j个点所需要砍掉的边数,cnt[i]为i的子节点数,size[i]表示以i为根的子树的节点数则可以得到初始状态:dp[i][1]=cnt[i](只留下根节点则需要把所有与子节点的连边砍掉);dp[i][0]=0;Otherwise, dp[i][...

2019-10-30 00:21:23 244

原创 【onecode】OCWA提高模拟赛十一 简单数学题

洛谷原题:https://www.luogu.org/problem/P3708思路:首先当然是n^2算法(30分),略过首先对该函数进行变形(以下除法皆为整除):f(x)=x-(x/i)*i(1<=i<=n)f(x)=nx-(x/i)*i(1<=i<=n)我们考虑一下递推,就是从f(x)推到f(x+1)我们考虑一下x变成x+1会使得那些ii的值...

2019-08-13 23:44:00 151

原创 【onecode】OCWA提高模拟赛十一 跳石头

问题描述猫猫岛上进了一只鼠贼!其他的猫咪都追不上她,乖乖只能亲自出马。 乖乖用矫健的身躯就快要追上这只老鼠了,但这时老鼠游过了一条河,乖乖怕水,于是她只能在河中的石头上跳过去。 河中的石头总共有C列,N排,乖乖要从第1排每次向前跳一排跳到第N排才能过河,乖乖可以从第一排任何一个石头开始跳。 由于每列石头之间距离很远,乖乖从第k行i列石头跳到第k+1行j列石头跳一次要消耗|i-j|单位的能量。 ...

2019-08-13 23:13:51 158

原创 【onecode】OCWA提高模拟赛十一 打怪兽

问题描述Doris今天在玩一个打怪兽的游戏,她只有一个群攻技能,主攻一只怪兽,这只怪兽会受到A点伤害,其余所有的怪兽收到B点伤害(A>B)。 她玩到最终关卡,面前出现了N只怪兽,生命值分别为Hi。 她想知道最少要用多少次技能才可以把他们全部消灭(生命值非正数视为消灭)。输入格式第1行3个整数N,A,B。 接下来N行,第i+1行一个整数,表示Hi。输出格式一行1个整数,表示...

2019-08-13 23:03:14 386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除