2017年8月14日套题记录 | 普及组

写在前面

今天登洛谷发现离Noip剩下88天了??(虽然看起有点久),然后觉得似乎水了一个暑假什么也没做(虽然学了点数据结构和一些奇奇Gaygay的东西),于是打开题库发现去年Long Happy的集训套题我似乎没有提交过,那就一天一套题,顺便码个题解+心得(雾?


T2.传作业

题目描述

某十三同学一日上学迟到,此时已经开始上早自习了,所以他只好请同学帮忙把作业传到组长那里。由于刚开学不久,某十三同学还没来得及认识所有同学,所以传作业时只好找熟悉的同学。已知某十三与组长之间有N个他熟悉的同学,并且知道这些同学相互之间间隔的距离。因为每两个同学间传作业都需要下位,所以现在请你帮忙设计一种传作业的方案,使所有同学下位走动的总距离最小.

输入格式

第1行,为一个正整数N(N<=98),表示某十三与组长之间的他所熟悉的同学人数。

接下来N+2行,每行有N+2个正整数(integer),其中第I行的第J个数代表第I个同学与第J个同学之间的距离(第1个为某十三本人,第2到第N+1个依次为某十三熟悉的同学,第N+2个是组长)。

输出格式

输出包括一行,为一个正整数L,代表最短的总移动距离。

样例输入

3
0 3 4 5 1
3 0 6 7 8
4 6 0 7 6
5 7 7 0 4
1 8 6 4 0

样例输出

1

解题思路

    • 题意大概是要求从点1(十三同学位置)到点N+2(组长位置)的最短路径
    • 所以就是一个裸的求最短路的问题
    • 鉴于N的范围<=98,所以只需使用Floyd就能AC了(当然我不会阻止你打其他的2333

关于代码

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <algorithm>
 5 #include <iostream>
 6
 7 using namespace std;
 8
 9 int Map[101][101];
10
11 int main(){
12
13     ios::sync_with_stdio(0);
14     int n;
15     cin >> n;
16     for (int i = 1;i <= n+2;++i)
17         for (int j = 1;j <= n+2;++j)
18             cin >> Map[i][j];
19
20     for (int k = 1;k <= n;++k)
21         for (int i = 1;i <= n+2;++i)
22             for (int j = 1;j <= n+2;++j)
23              Map[i][j] = min(Map[i][j] , Map[i][k]+Map[k][j]);
24
25     cout << Map[1][n+2];
26     return 0;
27 }

传作业



T4.牛跳

题目描述

John的奶牛们计划要跳到月亮上去。它们请魔法师配制了P(1 <= P <=150,000)种药水,这些药水必需安原来的先后次序使用,但中间可以跳过一些药水不吃。每种药水有一个“强度”值 s ( 1 <= s <= 500 ),表示可以增强牛的跳跃能力。然而,药力的作用却是交替相反方向起作用,也就是说:当第奇数次吃药时,牛获得跳的更高的能力,而第偶数吃药时,却降低了跳高能力。在吃药前,牛的跳高能力当然为 0 。

每种药只能吃一次,开始时为第1次吃药。

请求出牛可能跳到的最高高度--最大跳跃能力。

输入格式

第一行:一个整数 P

下面P行:每行一个整数,表示按先后次序要吃的药水的“强度”。

输出格式

只一个整数,表示最大弹跳能力。

样例输入

8
7
2
1
8
4
3
5
6

样例输出e

17

解题思路

    • 又是动归
    • 作为动归段版型选手看了半天选择了看题解(:看来要加练动归了,然鹅我看了题解半天才懂pu
    • 设f[i][j]表示前i个药水中选择了奇偶性为j的个数的药的最大跳跃值。 0和1分别表示偶数和奇数
    • 则我们对于第i个药水的决策,有选/不选两个决策
    • 若我们选择了这个药水i,则对于前i个药水,我们的奇偶性不同,若不选,则对于前i个药水奇偶性相同
    • 首先我们先处理边界条件:
      •   f[1][0] = 0     //不选择第一个药水
      • f[1][1] = a[1]      //选择第一个药水
    • 另我们对于当前第i个药水的决策有:
      •   偶数选:       f[i][0] = f[i-1][1]-a[i]     //i-1次为1(奇数),则需要减去a[i]
      •   奇数选:       f[i][1] = f[i-1][0]+a[i]    //i-1次为0(偶数),则可以加上a[i]
    • 最后只需要取选/不选的最大值存入即可(如图

关于代码

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <algorithm>
 5 #include <iostream>
 6
 7 using namespace std;
 8
 9 int n,a[150001],f[150001][2],num;
10
11 int main()
12 {
13     ios::sync_with_stdio(0);
14     cin >> n;
15     for (int i=1;i<=n;i++)
16         cin >> a[i];
17
18     f[1][0]=a[1];//选第一个
19     f[1][1]=0;//不选第一个
20
21     for (int i=2;i<=n;i++)
22     {
23         f[i][0]=max(f[i-1][1]+a[i],f[i-1][0]);
24         f[i][1]=max(f[i-1][0]-a[i],f[i-1][1]);
25     }
26
27     num=max(f[n][0],f[n][1]);
28     cout << num;
29     return 0;
30 }

牛跳



2017年8月14日套题记录 | 普及组

时间: 2024-10-26 18:38:31

2017年8月14日套题记录 | 普及组的相关文章

2017年11月1日刷题记录 | 普及组

写在前面 哇Cys好菜啊! 哇Cys连普及组都不会打了啊! 哇要Noip了好紧脏啊! 哇Cys要开始刷题了 然后重点是Cys好菜菜菜菜菜菜啊!!!! 以下题目来自题库比赛 Task-1  A-B 题目描述 出题是一件痛苦的事情! 题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的A+B Problem,改用A-B了哈哈! 好吧,题目是这样的:给出一串数以及一个数字C,要求计算出所有A-B=C的数对的个数.(不同位置的数字一样的数对算不同的数对) 输入输出格式 输入格式: 第一行包括2个非负整数N和

【谜院群】2017年4月14日天穷主擂谜会题

[谜院群]2017年4月14日天穷主擂谜会题 1.挥金邀朋游青天(月份口诀表三句/不连)一月大 二月平 十月大2.自从减肥反弹后,泪水常常挂面腮(网球术语二,5+2)打重复落点 长盘3.画中古人独赏月(嵌目)胡奋4.镐京兵败已是事实(拼音输入错误)西安输成现5.“杏花吹满头”(知名红学家)曲沐6.嬴荡故去,乃八子所期(离合字)王亡月望7.“飞梅弄晚”(明人)王木8.暮年洪武帝真厉害(5字人物比较语,含带姓俗称,粉底)老朱重八磅(棒)9.“离肠未语先断”(3字网络小说主角连相貌评价)杨明 丑10.

【世外谜城群】2017年4月14日绿黛兰溪主擂谜会题

[世外谜城群]2017年4月14日绿黛兰溪主擂谜会题 01.夙夜一别去南方(少笔字)亢02.鸟雀飞去东院中(6笔字)邬03.舍前曲径鸟飞鸣(6笔字)吸04.不辞千辛去回疆(6笔字)吕05.西风吹起流云动(7笔字)呖06.无心念书失头名(7笔字)吟07.三月伤情心中哀(7笔字)忡08.初临异地难聚首(7笔字)坚09.亭中丫头正伤心(7笔字)豆10.雨花点点落舍前(8笔字)枣11.上头下旨去华北(8笔字)卓12.工厂改造忙在先(8笔字)性13.年前出差来湘中(8笔字)枚14.费尽心血终解难(8笔字)

【谜乐苑群】2017年4月14日惠惠主擂谜会题

[谜乐苑群]2017年4月14日惠惠主擂谜会题 1.潭水西流寄相思(字)草2.旭日升空照露珠(字)丸3.幕后先生一直忙(字)师4.阳光之下白云散(字)瑰5.英雄必纵横天下(字)杜.杆.杠6.浦东西侧过边关(字)傅7.每天上工心中苦(字)生8.酒干客散去水泊(字)自.百9.一日相聚于亭下(字)盯.朾10.林中残影现鸟迹(字)彩11.一江清水育草根(字)弄12.黄昏之前暗消音(字少笔)日13.火光点点印残花(字)仑14.几处风流失晚节(字)艾15.灯前泪珠落残卷(字)仓16.笔管头前缺半块(字)快1

2017年3月14日下午日志

2017年3月14日下午复习了高等数学,观看了张宇高等数学第八讲教学视频线性代数部分的运算方法的方法,积累了更多学习技巧,对线性代数部分的行列式和矩阵的概念和性质有了了解,并做书上例题1.1-1.5,晚上背英语单词100个.

【天一家园群】2017年4月14日群猜谜会谜题

[天一家园群]2017年4月14日群猜谜会谜题 1.披上珠衣晕富态(千字文一句)盖此身发/张其有2.季布周游闭闲门(花卉)稠李/汤政良3."夜尽梦初惊”(11笔字)惏/何若雪 注:古同“婪” 4.“眼见四朝全盛时”(镜花缘人物)张昌期/谢礼让5.“从此萧郎是路人”(物理名词二)势能.绝缘/王永珊6.“天下无能第一”(电影名)超人二/郑百川7.“马蹄催趁月明归”(三字娱乐圈用语)走光照/谢亚芦8.风中乱雨洒孤舟(8笔字)忞/王天来9.东南院角酒香飘(文学体裁)元曲/朱锦华10.“伴君到三更”(称谓

老男孩教育每日一题:2017年3月14日-将前端运行的服务或脚本,如何可以放置到后端进行执行

方法一: 可以利用screen命令进行后台运行: 在命令行执行screen 回车,进入一个随机的screen后台,可以输入命令,然后按ctrl +a+d保存退出即可,这时程序已经在后台运行. screen ls可以查看当前运行screen后台列表,执行screen r 加PID可以进入相应的后台,再次退出还需要按ctrl+a+d 如何想要删除screen,需要执行kill -9 3215(screen ls查看到的脚本后台进程号),然后执行screen -wipe 即可删除. 方法二: 可以利用

IPv6 终于在2017年7月14日正式完成标准化—— RFC8200

IPv6不是从 1998 年RFC2460 就已经标准化了吗? 其实很多人不了解,RFC2460 称为草案标准 (Draft Standard),过去时间还有多次更新RFC :RFC 5095, RFC 5722, RFC 5871, RFC 6437, RFC 6564, RFC 6935, RFC 6946, RFC 7045, RFC 7112 RFC8200称为全标准Full Internet Standard,全标准编号是STD86.汇总了所有IPv6相关的RFC http://www

2017年9月14日

今天休息, 看了一下表单 <input> 文本:placeholder="提示语"  maxlength="最大可输入长度" 密码:password 单选:<label></label>   默认选择器:checked="checked" 多选:默认选择器:checked="checked" 文件上传:file 隐藏:hidden 提交:submit 重置:reset 按钮:rideo 图片