自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Holylight_Knight

某神犇:自己选择的路,跪着也要走完。

  • 博客(35)
  • 收藏
  • 关注

原创 构造物品的最小花费

2 . dwarf tower(dwarf.cpp/c/pas)【问题描述】Vasya在玩一个叫做"Dwarf Tower"的游戏,这个游戏中有n个不同的物品,它们的编号为1到n。现在Vasya想得到编号为1的物品。获得一个物品有两种方式:1. 直接购买该物品,第i件物品花费的钱为ci2. 用两件其他物品合成所需的物品,一共有m种合成方式。请帮助Vasya用最少的钱

2016-11-17 22:44:04 373

原创 两个数列取第k小数

1 1 .第K K 小数( ( number .cpp/c/pas)【问题描述】有两个正整数数列,元素个数分别为N和M。从两个数列中分别任取一个数相乘,这样一共可以得到N*M个数,询问这N*M个数中第K小数是多少。【输入格式】输入文件名为number.in。输入文件包含三行。第一行为三个正整数N,M和K。第二行为N个正整数,表示第一个数列。第三行为M个正整数

2016-11-17 22:40:42 711

原创 捡金币

3.捡金币(coin.cpp/c/pas)【问题描述】小空正在玩一个叫做捡金币的游戏。游戏在一个被划分成n行n列的网格状场地中进行。每一个格子中都放着若干金币,并且金币的数量会随着时间而不断变化。小空的任务就是在网格中移动,拾取尽量多的金币。并且,小空还有一个特殊技能“闪现”,能帮助她在网格间快速移动。捡金币游戏的具体规则如下:在每一秒开始时,每个网格内都会出现一定数量

2016-11-17 22:06:27 2305

原创 传球游戏

2.传球接力(pass.cpp/c/pas)【问题描述】n 个小朋友在玩传球。小朋友们用 1 到 n 的正整数编号。每个小朋友有一个固定的传球对象,第 i 个小朋友在接到球后会将球传给第 a i 个小朋友,并且第 i 个小朋友与第 a i 个小朋友之间的距离为 d i 。一次传球接力是这样进行的:由一个小朋友发球,将球传给他的传球对象,之后接到球的小朋友再将球传给自己的

2016-11-17 20:53:35 1744

原创 列车调度

【问题描述】有N辆列车,标记为1,2,3,…,N。它们按照一定的次序进站,站台共有K个轨道,轨道遵从先进先出的原则。列车进入站台内的轨道后可以等待任意时间后出站,且所有列车不可后退。现在要使出站的顺序变为N,N-1,N-2,…,1,询问K的最小值是多少。例如下图中进站的顺序为1,3,2,4,8,6,9,5,7,则出站的顺序变为9,8,7,6,5,4,3,2,1。输入文件名为mana

2016-11-17 20:32:38 771

原创 最小化最大等待时间

1.业务办理(transact.cpp/c/pas)【问题描述】在银行柜台前,有 n 个顾客排队办理业务。队伍中从前往后,第 i 位顾客办理业务需要t i 分钟时间。一位顾客的等待时间定义为:队伍中在他之前的所有顾客和他自己的办理业务时间的总和。第 i 位顾客有一个最长等待时间 d i ,如果超过了时间 d i ,业务还没有办理完成,那么这位顾客就会觉得不满意。具体来说,假

2016-11-17 20:21:58 1754

原创 直线围成的三角形数

【问题描述】平面上有N条直线,用方程Aix + Biy +Ci =0表示。这些直线没有三线共点的。现在要你计算出用这些直线可以构造出多少三角形?输入:第1行:一个整数N(1 ≤ N≤ 300000)。  下面N行:每行3个整数:Ai, Bi 和Ci,表示对应直线方程的系数。不超过10^9.input 16 0 1 0 -5 3 0 -

2016-11-17 20:14:48 943

原创 不能相邻的字符对

小 W W  理 笔记【问题 描 述】小 W 由于购物浪费了太多时间,导致他外语课都没有好好听。为什么是外语课?不是英语课?因为小 W 肯定会好好听英语课。由于没有好好听课, 小 W 的笔记全都记的杂乱无章,出现了好多错误的地方。 小 W 的笔记是如此的糟糕,以至于他只记了一句例句,而且自己还不知道是什么意思……然后在老师讲语法的时候, 小 W 又零星的记了几个字母对,老师

2016-11-16 12:35:29 994

原创 公约数3

1.铺瓷砖(tile.cpp/c/pas)【问题描述】有一面很长很长的墙。你需要在这面墙上贴上两行瓷砖。你的手头有两种不同尺寸的瓷砖,你希望用这两种瓷砖各贴一行。瓷砖的长可以用分数表示,贴在第一行的每块瓷砖长度为 AB ,贴在第二行的每块瓷砖长度为CD 。本问题中你并不需要关心瓷砖的宽度。如上图所示,两排瓷砖从同一起始位置开始向右排列,两排瓷砖的第一块的左端的缝

2016-11-16 12:24:13 448

原创 公约数2

问题描述:有一只青蛙在网格上跳,当它在某一个位置 (x,y) 上时, 令 k = lcm(x,y), 那么它下一步可以跳到(x + k,y) 或者 (x,y + k) 这两个位置上现在已知青蛙最后跳到了 (tx,ty) 这个位置上? 问青蛙有多少个可能的出发位置?共有 T 组询问,求对于于一个终点有多少个可能的起点,样例:36 106 82 8输出:

2016-11-16 12:20:03 448

原创 石头剪刀布的竞赛图

【问题描述】考虑 N 个人玩一个游戏,任意两个人之间进行一场游戏(共 N*(N-1)/2 场),且每场一定能分出胜负。现在,你需要在其中找到三个人构成“剪刀石头步”局面:三个人 A,B,C满足 A 战胜 B,B 战胜 C,C 战胜 A。【输入格式】第一行一个正整数 N,表示参加游戏的人数。接下来 N 行,每行 N 个数 0/1,中间没有空格隔开。第 i 行第 j 列数字

2016-11-15 21:45:18 965

原创 不幸运的序列

【问题描述】仅包含 4 或 7 的数被称为幸运数。一个序列的子序列被定义为从序列中删去若干个数,剩下的数组成的新序列。两个子序列被定义为不同的当且仅当其中的元素在原始序列中的下标的集合不相等。对于一个长度为N的序列,共有2^N个不同的子序列。 (包含一个空序列)。一个子序列被称为不幸运的,当且仅当其中不包含两个相同的幸运数。对于一个给定序列,求其中长度恰好为 K 的不幸运子

2016-11-15 21:39:16 375

原创 小报告

小报告【问题描述】体育老师又向班主任打小报告了。悲剧的是体育老师并不记得是哪些人在体育课上捣乱,他只记得捣乱的人在队里是连续的一段,并且他知道一共有多少人捣乱以及这些人的身高比较信息。他向班主任提供了这些信息,希望能找出捣乱的人。作为班主任的得力小助手,这任务自然又落到了小 w 的头上。小 w 记得全班体育课的队形以及各个位置上人的身高,他要找出捣乱的是哪一段人。当

2016-11-15 17:31:16 344

原创 求电阻

电阻【问题描述】物理课上老师让小 w 测一个电路板的电阻,小 w 用欧姆表很快就得到了答案。但是,欧姆表巨大的误差是令小 w 无法容忍的,于是他决定用数学方法准确算出总电阻。电路板一共有 N 个连接点,M 个电阻,小 w 需要算出 1 号连接点和 N 号连接点的总电阻。【输入格式】多组数据,输入直到文件结束每组数据第一行两个整数 N,M接下来 M 行,每行三个非

2016-11-15 17:26:53 661

原创 图论之强连通分量

问题描述:给出一个图,求其中的强连通分量。分析:常见的算法有tarjan算法和二度深搜法(即Kosaraju算法)这里详解tarjan算法。算法核心:对于一个图,我们给每一个dfs访问的点设立时间戳,即到达这里所需的最小时间,那么如果在树中,显然儿子结点的时间戳一定大于父亲的时间戳,而这里是有环的图,所以如果儿子的时间戳小于父亲的时间戳,则说明在访问父亲之前,就已经到达儿子

2016-11-15 17:20:21 760

原创 公约数1

公约数【问题描述】小 w 最近仔细研究了公约数,他想到了以下问题:现有 n 个正整数,从中选 k(2的价值为 k*g。求这个价值的最大值。小 w 当然知道答案了。现在他想考考你,你能很快回答出来吗?【输入格式】第一行,一个整数 n。第二行,n 个正整数。【输出格式】一行一个正整数,表示答案。【输入输出样例】输入:54 6 3 8 9输出:

2016-11-15 16:58:37 836 1

原创 平方分组

分组【问题描述】小 w 是扬中的高一新生。俗话说新官上任三把火,作为班长,第一件事自然是要给全班分座位。这可不是一件简单的任务。大家都知道学霸是一种环境不友好型生物,所以在一个组里,学霸会对同组的学渣造成巨大伤害。具体来说,我们定义一个组的不和谐度为本组的最高成绩与最低成绩差的平方。如一个组内的分数为 4 7 10 1,那么不和谐度为(10-1)^2=81。现在,班

2016-11-15 12:41:51 445

原创 堆积方块

方块游戏(cubes.pas/c/cpp)【题目描述】    小A和小B在玩一个方块游戏。编号为1到n(1    游戏开始后,小A会给小B发出p(1    1、移动(M):将包含X的立方柱移动到包含Y的立方柱上。    2、统计(C):统计含X的立方柱中,在X下方的方块数目。    写个程序帮小B完成游戏。【输入数据】    第1行输入P,之后P行每行输入一条指

2016-11-15 12:37:11 663

原创 父亲醉酒

醉酒(drunk.pas/c/cpp)【题目描述】小X家住在一条东西向的大街上。在他们家的东面,自东向西依次分布着n幢相似的房屋,编号为1到n,可以用一个长度为n的字符串表示这n幢房屋的颜色。小X的父亲经常喝醉酒,每次醉酒后他都会稀里糊涂地走到第Ai幢房屋前,然后坚信他现在第Bi幢房屋前。虽然他喝醉了,但是他依然能分清每幢房屋的颜色,并且掏出地图进行比较,只有房屋颜色和地图上一致时

2016-11-15 12:32:41 732

原创 超市抽奖

超市(market.pas/c/cpp)【题目描述】超市正在举行一个活动,该活动的规则如下:想要参与的顾客会将他购物的账单放入纸箱中,账单上写有顾客的联系方式和购物的金额。每天超市关门前纸箱中金额最大、最小的两张帐单被取出,付款金额最大的顾客将获得一笔奖金,价值为取出的两张帐单的金额之差;为了不重复计算,取出的两张帐单不再放回箱子,而剩下的帐单仍保留在箱中,进行第二天的活动。

2016-11-15 12:28:40 909

原创 环图搜索

树林(grove.pas/c/cpp)【题目描述】现在有一片树林,小 B 很想知道,最少需要多少步能围绕树林走一圈,最后回到起点.他能上下左右走,也能走对角线格子。土地被分成 R 行 C 列(1≤R≤50,1≤C≤50),下面是一张样例的地图,其中“.”表示小 B 可以走的空地,"X"表示树林,"*”表示起点。而小 B 走的最近的路己经特别地用“+”表示出来。. .

2016-11-15 12:12:56 640

原创 划区灌溉

划区灌溉(divide.pas/c/cpp)【题目描述】约翰的奶牛们发现山脊上的草特别美味。为了维持草的生长,约翰打算安装若干喷灌器。为简化问题,山脊可以看成一维的数轴,长为 L(1≤L≤1,000,000),而且 L 一定是一个偶数。每个喷灌器可以双向喷灌,并有确定的射程,该射程是一个整数,且不短于 A,不长于 B。A,B(1≤A≤B≤1000)都是给出的正整数。它所在位

2016-11-15 12:07:48 537

原创 poj之旅——2104

题目:给出一个数列,对于每个查询(i,j,k),输出ai.....aj中排序后第k个数。分析:其实就是线段树的运用。二分答案,然后对于i...j计算小于k的数字个数,这个用线段树模拟归并排序,然后如果当前区间被i....j包含,那么就返回这个区间的二分后的结果,否则查找子区间。跟AC的程序对拍十几个极端数据,可是死都不过,不懂。线段树就是我的克星。参考程序:#i

2016-11-14 20:48:50 253

原创 开关灯

【题目描述】晚上到家小 W 通过开关灯来保持自己神经的兴奋以便清醒地理笔记。N(2≤N≤100,000)盏灯被连续的编号为 1..N。刚回到家的时候,所有的灯都是关闭的。小 W 通过 N 个按钮来控制灯的开关, 按第 i 个按钮可以改变第 i 盏灯的状态。小 W 发出 M (1≤M≤100,000)条指令,每个指令都是两个整数中的一个(0 或 1)。第 1 种指令(用 0 表示

2016-11-14 19:49:40 382

原创 终极树状数组

树状数组及初步拓展。接着提出新的问题:A l r x把[l,r]加上xQ l r 求[l,r]的总和这该怎么办呢?显然先前所提出的方法已不再使用,我们深度分析:令加x之前sum[i]=segma(a[i]),加x之后sum'[i]=segma(a[i]).如果给[l,r]加上x,会对sum产生怎样的影响?1.i2.l3.r显然,对于1,3我们

2016-11-14 19:45:12 263

原创 小试3解析

确实需要思考。1.传球细加分析即可知结果为C(3,n)参考程序:#include#includeusing namespace std;int n;int main(){ freopen("ball.in","r",stdin); freopen("ball.out","w",stdout); scanf("%d",&n); printf("%lld",(l

2016-11-11 18:08:49 259

原创 经典问题之合法括号序列

题目描述:给出n,表示在2*n个空位上填(或),使得整个序列是合法的。问总共有多少种方案。分析:显然裸裸的搜索是可以的,但是效率比较低。如果我们定义状态f[i][j],表示前i个空位,还需j个)就是合法序列的方案数。那么就很简单了,f[i][j]=f[i-1][j-1]+f[i-1][j+1]。参考程序:#include#include#include

2016-11-11 11:56:46 4853 1

原创 poj之旅——1635

不见得是dp。题目简述:就是给你一个字符串,0表示向下走一层,1表示往回走一层,走到一个地方就添加一个结点,现在问你这两个字符串构成的树是不是一样的。如样例:A:0010011101001011B:0100011011001011画出对应的树:A:B:可以看出两者本质是相同的分析:我们将根节点的子树排布的顺序进行按照从小到大排,然后对应得到的

2016-11-10 19:00:37 266

原创 poj之旅——1015

描述在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定。陪审团是由法官从公众中挑选的。先随机挑选n个人作为陪审团的候选人,然后再从这n个人中选m人组成陪审团。选m人的办法是:控方和辩方会根据对候选人的喜欢程度,给所有候选人打分,分值从0到20。为了公平起见,法官选出陪审团的原则是:选出的m个人,必须满足辩方总分和控方总分的差的绝对值最小。如果有多种选择方案的辩方总分和控方总分的之差的绝对

2016-11-10 18:07:54 559

原创 poj之旅——1083,1088,1125,1157,1163

一些比较简单的dp题,光看图就能猜到意思。1125:#include#include#includeusing namespace std;int n;int f[110][110];int main(){ while (scanf("%d",&n)==1 && n){ memset(f,0x3f,sizeof(f)); for (int i=1;i<=n;i++){

2016-11-10 17:58:22 275

原创 字典序最小的最短路

问题描述:给出n和m,有n个点,m条双向边,1为起点,n为终点,每条边都有一个权值,经过每一条边的时间都为1,求从起点到终点既要时间最少,又要权值组成的序列的字典序最小的一条路径.输入样例:4 61 2 11 3 23 4 32 3 12 4 4 3 1 1输出样例:21 3限制范围:50%,n100%,n分析:又是一道双

2016-11-08 13:03:49 1274 1

原创 圈地问题

问题描述:在二维平面上给你 n 个点(坐标均为实数)。问是否有以这 n 个点中的一个点为圆心,半径为整数的圆,保证这 n 个点里面恰好有 m 个点严格在圆内,并且保证圆上没有任何点。如果存在解,输出半径最小值,否则输出 -1输入描述:第一行一个整数 T(T ≤ 50),表示数据组数。下面 T 行,每行一组数据。第一个和第二个整数为 n,m,代表点的个数,以及要求里面

2016-11-08 12:21:29 916

原创 小试3——略加思考

1. 传球(ball.pas/c/cpp)【问题描述】CCC的足球比赛和传统的足球比赛有一点不同, 一次进球当且仅当先后接触到球的4名队员的球衣编号是升序排列的。球员的球衣编号从过1到1500,并且每个人的编号都不同。给出最后得分球员的球衣编号,请计算出有多少合法的球员组合能够产生这一进球。【输入格式】输入一个整数N(1≤N≤1500),代表进球球员的球衣编号。【输

2016-11-04 12:30:36 841

原创 经典问题之最少交换次数

题目简述:此类题目一般概括为:通过交换相邻数来完成排序所需要的最少交换次数。分析:显然简单的冒泡排序就是基于这种思想,但是O(n^2)的效率常常无法满足题目要求,我们只能另寻它路。还是模拟原始做法:4 8 2 7 5 6 1 31 4 8 2 7 5 6 3------>6次1 2 4 8 7 5 6 3------>2次1 2 3 4 8 7

2016-11-03 20:07:50 6985 1

原创 经典问题之量化贸易

问题概述:量化贸易的问题根据百度百科结合算法竞赛可以总结为:已知将来n天某商品的价格,每天你可以有三件事(只能做一个):1.不买不卖2.以当天价格买进3.以当天价格卖出刚开始你不持有商品,同时保证n天之后你同样不在持有商品,要求你能获得的最大利润。思路分析:1.裸的二维dp.定义f[i][j]表示第i天持有j件商品的最大利润。依据题目,我们很快可

2016-11-02 20:08:23 394

空空如也

空空如也

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

TA关注的人

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