05 2019 档案
摘要:今天继续写几个数位dp F - Balanced Number 题目大意:给你一个区间,让你求这个区间之中满足条件的数字有多少。 这个条件:可以选数的一个位为轴,左右到轴的长度乘上那个数字本身相等的数有多少? 我的思路:首先我们要研究这个题目的数字要求,就是找到一个点然后去枚举每一个点是轴,然后我们
阅读全文
摘要:M - windy数 这个数位dp还比较明显,而且也比较好写,不过还是被我写搓了,伤心ing 这个数位dp,就是dp这个状态需要好好想想,还有就是这个前导0的问题,这个就是需要认真看题目。 我开始直接定义的一维dp,dp[i]定义为i位个数满足条件的数有多少 但是这个状态定义的是不完整的,因为第i位
阅读全文
摘要:https://codeforces.com/problemset/problem/1077/F1 这个其实是一个比较简单的dp了 题目大意: 给你n个数,让你从n个数里选出x个数,并且每隔k个至少选一个数。 开始不知道怎么去写,也不知道怎么去定义dp 这个应该是对于dp不是特别的熟练,实际上dp用
阅读全文
摘要:C - Two Rabbits 这个题目的意思是,n块石头围一圈。一只兔子顺时针,一只兔子逆时针(限制在一圈的范围内)。 这个题目我觉得还比较难,不太好想,不过后来lj大佬给了我一点点提示,因为是需要跳到相同的重量的石头上去, 所以这个就和回文序列有关系了,我也明白和回文序列有关系了,因为他们是不同
阅读全文
摘要:D - 石子合并问题--直线版 HRBUST - 1818 这个题目是一个区间dp的入门,写完这个题目对于区间dp有那么一点点的感觉,不过还是不太会。 注意这个区间dp的定义 dp[i][j] 表示的应该是将连续的从 i 到第 j 堆的石块进行合并的最大值(或者最小值) 知道这个定义就很好求了,所以
阅读全文
摘要:真的很难想象这个是我打过的比赛,好难啊,我一个人写了七八个小时,还没有写完,主要是我的代码出现了一些思想性的错误, 而且自己还没有意识到,很郁闷。 就补了五个题目。 第一个很简单的题目,随便写写就好了 https://nanti.jisuanke.com/t/39268 #include <cstd
阅读全文
摘要:背包问题我现在初学几个简单的,一个是01背包,一个是完全背包,还有一个是多重背包。 他们三者可以相互转化,主要基础就是01背包和完全背包。 具体内容可以去看背包九讲。 给几个例题: A - Piggy-Bank 这个是一个裸的01背包 #include <cstdio> #include <cstd
阅读全文
摘要:https://codeforces.com/problemset/problem/864/E 这个题目要把这个按照物品毁灭时间进行排序,如果时间短就要排在前面,这个是因为要保证之后的物品的拯救不会影响到之前的。
阅读全文
摘要:http://poj.org/problem?id=3260 这个题目有点小难,我开始没什么头绪,感觉很乱。 后来看了题解,感觉豁然开朗。 题目大意:就是这个人去买东西,东西的价格是T,这个人拥有的纸币和数量。让你求这个人买东西的纸币量加上老板找给他的纸币量最少是多少。 这个老板用于这个人拥有的纸币
阅读全文
摘要:http://poj.org/problem?id=1787 这个题目我一看就觉得是一个多重背包,但是呢,我不知道怎么输出路径,所以无可奈何,我就只能看一下题解了。 看了题解发现居然是把多重背包转化成完全背包,昨天学习了多重背包转化成01背包求解,今天又学习了这个。 题目大意:就是给你一个数字n,和
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2844 这个题目是一个多重背包转化成01背包 题意: Whuacmers拥有bi个面值为ai的硬币,现在他要用这些硬币买价格不超过m的一个物品,问你最多能刚好能用硬币付钱的物品价格有几个(即该价格能用这些硬币凑出来
阅读全文
摘要:https://codeforces.com/contest/1155/problem/D 这个题目还是不会写,挺难的,最后还是lj大佬教我的。 这个题目就是要分成三段来考虑, 第一段就是不进行乘,就是直接求这一个区间的最大的一段区间的最大值。 第二段就是后面有一部分进行乘法,前面有一部不进行乘法。
阅读全文
摘要:https://codeforces.com/problemset/problem/933/A 这个是一个dp,但是我并没有看出来,然后也不太会写, 这种题一般应该要想到先预处理前缀和后缀,然后再进行dp dp[i][j][0] 表示从区间 i~j 以2结尾的最长递减序列 dp[i][j][1] 表
阅读全文
摘要:https://codeforces.com/problemset/problem/407/B 这个题目是一个dp,有那么一点点的递归的意思,这个应该算一个找规律的dp, dp[i]定义为第一次到第i个房间的步数, 转移方程 dp[i]=dp[i-1]+dp[i-1]-dp[p[i]]+1;
阅读全文
摘要:https://codeforces.com/problemset/problem/225/C 这个题目和之前一个题目很像 https://www.cnblogs.com/EchoZQN/p/10900373.html 只是这个数据范围更大一些, 不过刚开始我真的没有看出来。。。。 这个就是整列整列
阅读全文
摘要:https://codeforces.com/problemset/problem/4/D 这个题目比较简单,就是一个DAG模型,这个可以看看紫书学习一下, 我这次是用dp来写的,用记忆化搜索也许更好写一点。 这个首先进行建图,用一个邻接表建图,G[i][j]表示第i个信封可以装进去第j个信封,这个
阅读全文
摘要:https://codeforces.com/problemset/problem/429/B 这个题目之前写过,不过好像。。忘记了,今天又没有写出来,应该之前没有想明白。。。 这个应该算一个四角dp(网上说的,感觉很符合),所以呢就是要从四个角进行dp, 就是先对四个角到对角的一个dp,然后就是枚
阅读全文
摘要:https://codeforces.com/contest/577/problem/B 先读懂题意,substring 这个是子串说明不可以跳 subsequence这个是子序列可以跳 这个题目是一个dp,不过你需要先知道,如果n>m 那么就肯定可以, 接下来证明一下这个,如果n>m,那么设前 i
阅读全文
摘要:https://codeforces.com/contest/1136/problem/D 这个题目说是一个贪心,并没有看出来,然后搜了题解。 对于题解的理解:首先就是要知道,设num[x]表示x之后的可以交换的点的数量,易得如果一个点的num==n-i-ans 这个就说明可以向前移动一位,这个an
阅读全文
摘要:https://codeforces.com/problemset/problem/118/D 这个题目有点思路,转移方程写错了。 这个题目看到数据范围之后发现很好dp, dp[i][j][k1][k2]代表的是前面i个1 j 个0,到第 i+j 为有连续 k1 个 1,连续 k2 个0形成排列的方
阅读全文
摘要:http://poj.org/problem?id=1062 这个题目有一点点特别,因为数据很小也可以用Floyd跑,但是个人比较钟爱dij。 这个dij是怎么走的呢,首先就是普通的建图,然后就是带上一个地位限制的dij,其他都是一样的。
阅读全文
摘要:http://poj.org/problem?id=3268 题目思路: 直接进行暴力,就是先求出举行party的地方到每一个地方的最短路,然后再求以每一个点为源点跑的最短路。 还有一种方法会快很多,就是跑两次最短路,一次正向的,另外一次反向的,因为都是只要求每一个位置到源点的最短距离, 所以这样子
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/878/B 这个题目是一个网络流,但是建图却没有那么好建,首先我们都会把每一个人与源点相连,每一个洞口和汇点相连。 然后人和洞口相连,这个是基本思路,但是呢,这个题目因为限制了出洞口的人数,所以这个时候要将每一个洞口的每一个时刻
阅读全文
摘要:简单题 B D F L 中等难度题 E I 更难一点得题 A C G 难题 H K J B. Ugly Number 这个题目很简单,不过我的方法有点点小问题,不过可以改进一下就应该没什么问题了。 这个题目就是让你判断不断把最后一位移到最前面来组成的新数字会不会有比原来小的, 这个题目就先判断后面有
阅读全文
摘要:I - Transformation Yuanfang is puzzled with the question below: There are n integers, a 1, a 2, …, a n. The initial values of them are 0. There are fo
阅读全文
摘要:E - Loppinha, the boy who likes sopinha Gym - 101875E 这个题目是一个dp,这个应该很容易看出来,但是对于状态的定义其实有点难去想, 看了题解dp[i][j]表示前面i个数交换j次的还需要消耗的能力, 有了这个定义,转移方程就比较好写了,就是如果一
阅读全文
摘要:题目链接:https://vjudge.net/contest/299467#problem/O 题目思路:网络流+最短路 这个是一个最短路+最大流,最短路容易,就是跑起点到每一个点的距离。 但是这个最大流的图难想,题解说的是,把每一个最短路的点放到网络流的图中,流量设置为1 ,然后跑一个最大流。
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/200/B来源:牛客网 题目描述 qn姐姐最好了~ qn姐姐给你了一个长度为n的序列还有m次操作让你玩, 1 l r 询问区间[l,r]内的元素和 2 l r 询问区间[l,r]内的元素的平方 和 3 l r x 将区间[
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3081 推荐博客:https://www.cnblogs.com/liuxin13/p/4728131.html 这个题目没什么思路,完全不知道怎么写,后来看了题解,说是网络流+二分+并查集,然后更加懵了
阅读全文
摘要:G - Mayor's posters POJ - 2528 这个题目要倒着来写,从后面往前面贴,因为前面的有些会被后面的覆盖。 所以我们就判断这张海报的位置有没有完全被覆盖,如果完全被覆盖了就不能贴,但是没有完全被覆盖就可以贴上去,然后更新掉这一段。 #include <cstdio> #incl
阅读全文
摘要:题目链接:https://vjudge.net/contest/299467#problem/K 这个题目从数据范围来看可以发现是网络流,怎么建图呢?这个其实不是特别难,主要是读题难。 这个建图就是把源点和每一个蜥蜴存在的点相连,汇点和可以跑出去的相连,因为这个题目对于每一个点都有次数要求,所以就要
阅读全文
摘要:题目链接:https://vjudge.net/contest/299467#problem/F 这个是一个很简单的题目,但是读入很有意思,通过这个题目,我学会了一种新的读入方式。 一个旧的是(%d,%d)%d 这个,但是这个题目不知道为什么,用不了。 还有一个就是用sscanf 可以看这个博客学习
阅读全文
摘要:题目链接:https://vjudge.net/contest/299467#problem/J 这个题目是一个裸的最小割问题,就不多赘述了。
阅读全文
摘要:E - No Pain No Game
阅读全文
摘要:Fox Ciel is participating in a party in Prime Kingdom. There are n foxes there (include Fox Ciel). The i-th fox is ai years old. They will have dinner
阅读全文
摘要:D - 小Z的加油店 HYSBZ - 5028 D - 小Z的加油店 这个题目是一个线段树+差分+GCD 推荐一个差分的博客:https://www.cnblogs.com/cjoierljl/p/8728110.html 学会了这个简单差分之后,就可以把这个题目的区间更新转化成单点更新了,emmm
阅读全文
摘要:A - ACM Computer Factory POJ - 3436 As you know, all the computers used for ACM contests must be identical, so the participants compete on equal terms
阅读全文
摘要:F - Sequence operation
阅读全文
摘要:没有全部写完,有几题以后再补吧。 第一题:最简单的:飞行员配对方案问题 讲讲这个题目为什么可以用网络流? 因为这个题目是要进行两两之间的匹配,这个就可以想到用二分图匹配,二分图匹配又可以用网络流写。 为什么二分图匹配可以用网络流写呢? 你在二分图上面加一个源点和一个汇点,然后你求从源点到汇点的最大流
阅读全文
摘要:骑士共存 题目描述 在一个 n*n个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示。棋盘上某些方格设置了障碍,骑士不得进入 对于给定的 n*n 个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置多少个骑士,使得它们彼此互不攻击 输入输出格式 输入格式: 第一行有 2 个正整数n 和
阅读全文
摘要:题目: P2774 方格取数问题 题目背景 none! 题目描述 在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。对于给定的方格棋盘,按照取数要求编程找出总和最大的数。 输入输出格式
阅读全文
摘要:题目描述 W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合E={E1,E2,…,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,…In}。实验Ej需要用到的仪器是I的子集RjÍI。配置仪器Ik的费用为ck美
阅读全文
摘要:B - LCIS HDU - 3308 B - LCIS 这个是一个很简单很明显的线段树的区间合并,不过区间合并的题目都还是有点难写,建议存个板子。 #include <cstdio> #include <cstdlib> #include <algorithm> #include <iostrea
阅读全文
摘要:B - Tunnel WarfareHDU - 1540 这个有两种方法,一个是区间和并,这个我个人感觉异常恶心 第二种方法就是找最大最小值 kuangbin——线段树专题 H - Tunnel Warfare <-- 这个博客讲的很清楚 #include <cstdio>//法一:最大值最小值法,
阅读全文
摘要:题目 You, a part-time dining service worker in your college’s dining hall, are now confused with a new problem: serve as many people as possible. The is
阅读全文
摘要:题目: In the vast waters far far away, there are many islands. People are living on the islands, and all the transport among the islands relies on the s
阅读全文