随笔分类 - 题解
摘要:题目传送门 题目大意:给定一棵K叉树,一个节点下的K个节点的分数为i,求包含大于等于D的边的总分数为N的方案总数,mod 1e9+7。 这是一道很好的树形DP题,首先看N和K两个条件,可以轻易的得到方程: //f[i][j]表示总分为i,当前边分数到j的方案总数。 再看最后一个条件,我们仔细一想,不
阅读全文
摘要:题目传送门 由题目可得,在一条路上有N个加油站,在距离终点a[i](细节)的位置上,你需要通过长度为L的路,油箱的容量是无限的,但是初始只有P点油,经过每个加油站时可以选择加b[i]的油,问最少加油几次可以到达终点。 可以看出经过每一个加油站时可以有两个选择:加油或不加油,但过去了就不能回来。 假如
阅读全文
摘要:题目传送门 这是一道DP+最短路径的好题。 首先预处理每天每个点的最短路径。 用SPFA进行处理。即cost[i][j]为第i天到底j天的1到M点的最小花费。 就可以水水的DP。 设f[i]为第i天的最优方案,f[i]=min(f[i],f[j]+cost[j+1][i]*(i-j)+K); 即从第
阅读全文
摘要:题目传送门 我们设f[i]表示用机器A加工,时间还剩下i时的最优加工时间。 对于每一个时间可以加工的物品,有以下几个选择: 1、用机器A加工 2、用机器B加工 3、A和B一起加工 所以得到方程: f[j]+=a[i][2]//用机器B加工,所以时间还剩j。 f[j]=min(f[j],f[j-a[i
阅读全文
摘要:题目传送门 这是一道并查集的题目,相信很多人都看出来了。 用一个类似Kurskal的东西求出最近的最大值。 对于一些可以划分在同一个部落里的边,我们一定是优先选择短边合并。 code:
阅读全文
摘要:WZRY 为了排位赛的Cjj神,最近耗尽气力来打WZRY。 Cjj神最近有N局预约的排位赛,其中第i局需要耗时Li的时间。因为浓浓的Gay情,Cjj神不能改变这些排位赛的的顺序。作为一个很有(mei)自制力的人,Cjj神计划用M+1天打完N局,为了能够活着见到第M+2天的太阳,他希望耗时最长的一天最
阅读全文
摘要:【问题描述】 吉儿是一家古董店的老板娘,由于她经营有道,小店开得红红火火。昨天,吉儿无意之中得到了散落民间几百年的珍宝——月亮之眼。吉儿深知“月亮之眼”价值连城:它是由许多珍珠相连而成的,工匠们用金线连接珍珠,每根金线连接两个珍珠;同时又对每根金线染上两种颜色,一半染成银白色,一半染成黛黑色。由于吉
阅读全文
摘要:题目描述: 从美国州际高速公路建筑者那里,奶牛们引进了一种路径编号系统,来给牧场之间的道路编号。他们已经把 N(1<=N<=25)个牧场,用 1 到 N 的整数编号。现在他们需要将牧场间的道路也编上不同的编号,编号可以从 1 到 2000.如:I9 和 I16。看下面一个例子,牧场编号为 1,2,3
阅读全文
摘要:题目传送门 一看便知,二分图最大匹配的裸题。 但是,用匈牙利算法的话,每一次的memset会超时,所以这里使用时间戳优化。 [时间戳] 记录每一次操作是第几次,只要不是现在这个操作的话就相当于“0”。 code: #include <bits/stdc++.h> #define MAXN 10001
阅读全文
摘要:题目传送门 由题意可得,这道题是求使一些行上的1是否能两两不同行,两两不同列。 于是我们就可以把1点的i与j连边,做一遍二分图匹配。 如果每一行即i都可以匹配到,那么就有解。 code: /*******************************************************
阅读全文
摘要:最小覆盖(cover)、、线段树 【题目描述】 给定 N 个区间[Li,Ri],需要你按照顺序选出一个区间序列使得[1,M]完全被覆盖。并且在选出来的序列中,某个区间[a,b]之前必须保证[1,a]都被已经选中的区间覆盖(即没有“断开”的地方)。求出最少需要选多少区间 【输入文件】 第一行两个整数
阅读全文
摘要:题目传送门 带权并查集问题。 用fr[x]数组记录x战舰前(不包括自己)有几艘战舰,beh[x]数组记录x战舰后(包括自己)有几艘战舰。 并查集即可。 code: #include <cstdio> #include <cmath> #include <iostream> using namespa
阅读全文
摘要:题目传送门 又是一道BZOJ的水题。 DP,F[i]表示第i只鼹鼠出现后可以砸几只。 F[i]=max(F[i],F[j]+1); 但要满足time[i]-time[j]>=abs(x[i]-x[j])+abs(y[i]-y[j]) code: /**************************
阅读全文
摘要:没有上司的舞会 1380 没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求
阅读全文
摘要:转自YXDs 题目传送门 不知道今天是怎么了,可能是空调吹多了吧,一直不在状态,连递推题我都做不来了……(扎Zn了老Fe……) 然而,不管环境如何恶劣,我们仍要努力学习,为了自己的明天而奋斗。(说的好像跟真的一样) 其实这题就是一个递推,现在我们考虑第i个数,定义f[i][j]表示序列里有i个数,逆
阅读全文
摘要:中位数的和 (number.pas/c/cpp) 【题目描述】 flower 有 N-1 个朋友,他们要一起玩一个游戏:首先确定三个非负整数 a,b,c,然后每个人依次在纸上写一个数,设第 i 个人写下的数字为 f[i],flower 先写下数字 f[1]=1,对于第 i 个写数字的人(i>1)有:
阅读全文
摘要:Piggy Back (piggyback.pas/c/cpp) 【问题描述】 Bessie 和她的姐姐 Elsie 在不同的田块吃草,晚上她们都返回牛棚休息。作为聪明的奶牛,她们想设计一个方案使得步行消耗的能量最少。牛,她们想设计一个方案使得步行消耗的能量最少。Bessie 从一个田块到相邻的田块
阅读全文
摘要:WILL 吃桃 (peach.pas/c/cpp) 【 题目描述】 Will 很喜欢吃桃, 某天 Will 来到了一片森林, 森林中有 N 颗桃树, 依次编号为 1,2,„,N.每棵树上有数量不等的桃子。 某些桃树之间有单向通行的小路, 且路径不会形成环, 通过每条小路的时间也不一定相同。 现在,
阅读全文
摘要:题目传送门 ·背包 这可以说是一道背包的变形。 首先需要考虑到的是如何将ta转换为一个正常 的背包。 这些数据有一个让我们都十分不爽的地方就是有两个值。 所以我们就设置一个基准值,将失败的经验值当做基准值,这样就只剩一个win-lose的“背包价值”了。 接下来即进行0-1背包操作 最后输出时将减去
阅读全文
摘要:黑匣子 (box.pas/c/cpp) 【 问题描述】 某研究小组成员想发明一个黑匣子( 当然不是飞机上那个), 而是一个具有特殊功能的箱子。 这个箱子具有两个功能: 1. 存放一些正整数 x; 2. 对于第 k 次询问, 它会告诉你箱子中第 k 小的数字是多少。 但光具有理论是不够的, 理论往往应
阅读全文