
luogu
文章平均质量分 51
pretend_fal
In me the tiger sniffs the rose.
展开
-
NOIP2015 信息传递
题目描述有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生日时,游戏结束。请原创 2017-08-09 09:47:34 · 1195 阅读 · 0 评论 -
luogu P1484 种树
这个题的解法我是在河南听过的; 但是尴尬; 没好好听,所以忘了; 大致意思就是: 选k个数,要求选的任意两个数不能相邻; 大致是一种抵消的反悔方式;假设我们当前选了a[i],那么如果我们下次选了a[i-1] and a[i+1], 那么他们的代价差是:a[i-1]+a[i+1]-a[i]; 所以我们把 a[i] = a[i-1]+a[i+1]-a[i]; then a[i-1] and原创 2017-11-03 07:18:45 · 424 阅读 · 0 评论 -
luogu P3119 [USACO15JAN]草鉴定Grass Cownoisseur
这道题显然要先 Tarjan 缩点预处理; 这里就不多说了; 之后的点都是缩点之后点集;我们考虑两种点: <1> 以 1 为起点可以直接到达的; 我们这里叫它一类点; <2> 以该点为起点,可以直接到达 1 的; 我们这里叫它二类点;所以我们先用 spfa 处理出来从 1 到这两种点的点权值; 统计 ans 用; 然后枚举每一个一类点; 由于我们只能走一次反边; 所以我们所要原创 2017-11-03 07:17:28 · 300 阅读 · 0 评论 -
luogu P1155 双栈排序
我们可以考虑在什么情况下会需要双栈; middle big small ;这样的情况需要双栈; 因为我们 middle 入栈后; 不能直接弹出; 而是需要等待 small 进入; 所以这时候需要把 big 压入另一个栈中; 所以我们找这样的三个点; 将 middle and big 连边; 然后染色; 如果有相邻的两个点的颜色一样; 证明不合法; 否则,模拟;#includ原创 2017-11-03 07:15:53 · 265 阅读 · 0 评论 -
luogu P2375 动物园
这个题是KMP; 然后比较坑; 我们记录当前这个位置的 sum[] 是从那个位置转移过来的; 然后我们在求 next 的时候; 顺便把这个数组更新; 显然它会顺着位置前移; 最多一位;#include "iostream"#include "stdio.h"#include "algorithm"#include "cstring"#define II int#define C原创 2017-11-03 07:14:25 · 206 阅读 · 0 评论 -
luogu P1073 最优贸易
题目描述C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到原创 2017-08-02 21:06:38 · 600 阅读 · 0 评论 -
luogu P1759 通天之潜水
题目背景直达通天路·小A历险记第三篇题目描述在猴王的帮助下,小A终于走出了这篇荒山,却发现一条波涛汹涌的河拦在了自己的面前。河面上并没有船,但好在小A有n个潜水工具。由于他还要背重重的背包,所以他只能背m重的工具,又因为他的力气并不是无限的,河却很宽,所以他只能背有v阻力的工具。但是这条河下有非常重要的数据,所以他希望能够停留的时间最久。于是他找到了你,让你告诉他方案。输入输出格式输入格式: 三个原创 2017-08-01 11:48:16 · 373 阅读 · 0 评论 -
luogu P1525 关押罪犯
题目描述S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c 的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突原创 2017-08-01 17:11:56 · 534 阅读 · 0 评论 -
luogu P1318 积水面积
题目描述一组正整数,分别表示由正方体迭起的柱子的高度。若某高度值为x,表示由x个正立方的方块迭起(如下图,0<=x<=5000)。找出所有可能积水的地方(图中蓝色部分),统计它们可能积水的面积总和(计算的是图中的横截面积。一个立方体的位置,为一个单位面积)。如图:柱子高度变化为 0 1 0 2 1 2 0 0 2 0图中蓝色部分为积水面积,共有6个单位面积积水。输入输出格式输入格式: 两行,第一行原创 2017-08-01 20:52:44 · 449 阅读 · 0 评论 -
luogu P1970 花匠 (NOIP)
题目描述花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。具体而言,栋栋的花的高度可以看成一列整数h1,h2..hn。设当一部分花被移走后,剩下的花的高度依次为g1,g2..gn,则栋栋希望下面两个条件中至少有一个满足:条件 A:对于所有g(2i) > g(2i-1)原创 2017-08-03 21:26:29 · 481 阅读 · 0 评论 -
luogu P2890 便宜的回文
题目连接: https://www.luogu.org/problem/show?pid=2890这个题的题解比较少;首先,这个题我一上来就想到了一道白皮上的DP;那道题的转移方程是if(a[i]==b[j]) f[i][j]=f[i-1][j-1];else f[i][j]=min(f[i-1][j],f[i][j-1])+1;大概就是当前a串字母和b串字母相同时,等价于前一个位置相同;否则就改变原创 2017-09-20 09:10:05 · 380 阅读 · 0 评论 -
luogu P2619 奶牛工资
原题位置: https://www.luogu.org/problem/show?pid=2619这道题是个贪心,怎么说是贪心呢,就是先选大的,后考虑小的;千万不要把上句话的意思理解歪了,一开始我就理解歪了,然后华丽丽地TLE了;其实就是for,然后如果当前这个值可以被选,就选到不能再选这个值为止;还有一个小技巧,就是我们定义一个值,等于c,然后用这个值减,知道小于等于0,这样子比一直加到c好处理多原创 2017-09-20 10:50:07 · 469 阅读 · 0 评论 -
luogu P1095 守望者的逃离
原题位置: https://www.luogu.org/problem/show?pid=1095这个题好久之前就见过,当时写的贪心,但是没A;刚刚换成了DP,A了;所谓DP,我们可以把这个过程看做两个人在一起跑,只是跑的方式不同;一个跳一下休息一会,一个一直跑;所以这个东西就可以分成两个DP;cpp#include<iostream>#include<cstdio>#include<algor原创 2017-09-20 15:50:13 · 330 阅读 · 0 评论 -
luogu P1167 刷题
原题位置: https://www.luogu.org/problem/show?pid=1167这道题其实很简单,但是我之所以要写这篇题解,是因为有一个点需要掌握;就是如果两个时间差不好算,可以找一个比较小的时间来作为底;然后,分别计算两个时间距离底的差,然后做差,得到答案;cpp#include<iostream>#include<cstdio>#include<algorithm>#de原创 2017-09-20 17:14:59 · 409 阅读 · 0 评论 -
luogu P2401 不等数列
原题位置: https://www.luogu.org/problem/show?pid=2401这个题说是个DP,但是感觉想一个递推式;先把式子摆出来: f[i][j] = f[i-1][j-1] * (i-j) + f[i-1][j] * (j+1) ;那我们就要说一下这是为什么了;首先我们要明确f[i][j]代表前i个人j个小于号;所以我们可以假设我们有一种情况是: @<@>@<@<@>@<@原创 2017-09-21 15:30:15 · 224 阅读 · 0 评论 -
luogu P2697 宝石串
题目描述有一种宝石串,由绿宝石和红宝石串成,仅当绿宝石和红宝石数目相同的时候,宝石串才最为稳定,不易断裂。安安想知道从给定的宝石串中,可以截取一段最长的稳定的宝石串,有多少颗宝石组成。请你帮助他。绿宝石用‘G’表示,红宝石用‘R’表示。输入输出格式输入格式: 一行由G和R组成的字符串输出格式: 最长的稳定的宝石串有多少颗宝石组成输入输出样例输入样例#1:GRGGRG输出样例#1:4说明RGGR为原创 2017-08-03 17:25:38 · 1249 阅读 · 4 评论 -
luogu P3202 [HNOI2009]通往城堡之路
就是把所有的都先设为最差值; 然后一点点的往上调; 然后就是贪心; 定义 : low : 从n到现在i b[i]<=a[i] 的个数; up : 从n到现在i b[i]>a[i] 的个数;我们找一个 low-up 最大的后缀; 先上调; 调的距离是 min ( a[i]-b[i] ) |a[i]>b[i]; 因为这样我们 up 增加的值可以用 low 增加的值来抵消;原创 2017-11-03 07:20:04 · 361 阅读 · 0 评论