NOIP2017SummerTraining0720
这套题,看到第一题就想到了以前做过的运动鞋那道题,然后就往DP这个方向去思考,想来想去每什么思路,然后就去看第二题,第二题一看就是一道最短路的问题,但是它的建图十分困难,
怎么打都不知到该怎么建图,然后又去看第一题,推了一下,发现贪心可以过,因为每层,每次的最小值只可能怎么说呢,就是排好序后的那个头,然后塞进堆里就好了,然后划水暴力第二题10分水过,
一共拿了110分吧,考完后听了wsj的讲解以后发现第二题并不是特别难打,但是又不会,体现出水平还是十分菜。
选择困难症
时间限制: 1 Sec 内存限制: 128 MB
提交: 482 解决: 110
[提交][状态][讨论版]
题目描述
输入
输出
一行一个整数表示答案。
样例输入
2 1 3
2 2 2
样例输出
提示

这道题是不是和运动鞋很像,的确,但是价格是<=10^8所以不行,空间开不下,时间也不行,离散化也不行,然后发现,每次最优值只会在当前这个部分的价格加上以前的一个“头”来产生,
每次找最小的,然后把后一个加入,这样不就是一个堆的操作吗?然后就ok了。
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<cstring>
#include<queue>
using namespace std;
typedef pair<int,int>fzy;
int m,k;
][],num[],f[];
priority_queue<fzy,vector<fzy>,greater<fzy> >q;
bool cmp(int x,int y){return x<y;}
int main()
{
scanf("%d%d",&m,&k);
;i<=m;i++)
{
scanf("%d",&num[i]);
;j<=num[i];j++)
scanf("%d",&a[i][j]);
sort(a[i]+,a[i]+num[i]+,cmp);
}
,i,j;
;i<=num[]&&i<=k;i++)
f[i]=a[][i];
top=i-;
];
;i<=m;i++)
{
) continue;
while (!q.empty()) q.pop();
;j<=num[i]&&j<=k;j++)
q.push(make_pair(f[]+a[i][j],));
fzy x;
;(!q.empty())&&j<=k;j++)
{
x=q.top();
ft[j]=x.first;
q.pop();
]-f[x.second],x.second+));
}
top=max(top,j-);
;j<=top;j++)
f[j]=ft[j];
}
printf("%d\n",f[k]);
}
规避
时间限制: 1 Sec 内存限制: 128 MB
提交: 170 解决: 24
[提交][状态][讨论版]
题目描述
输入
输出
一行共一个数表示最短长度,保留4 位小数。
样例输入
4
0 0
1 0
1 1
0 1
4
2 2
3 2
3 3
2 3
1 7
样例输出
提示
这道题就看了一下,没什么特别的思路。
反抗希碧拉系统续
时间限制: 1 Sec 内存限制: 128 MB
提交: 27 解决: 3
[提交][状态][讨论版]
题目描述
输入
输出
一行,仅一个整数,表示符合要求的字符串数量对2^32 取模。
样例输入
5
样例输出
提示

正解要用ac自动机+矩阵乘法。
NOIP2017SummerTraining0720的更多相关文章
随机推荐
- jsp窗口关闭的触发函数
功能:当点击窗口[关闭按钮]时调用后台的servlet方法实现附件删除 <script type="text/javascript"> window.onbefo ...
- pip源相关问题
指定源地址安装: pip install -i http://pypi.douban.com/simple/ packagename pip install -i http://pypi.tuna.t ...
- 多模字符串匹配算法之AC自动机—原理与实现
简介: 本文是博主自身对AC自动机的原理的一些理解和看法,主要以举例的方式讲解,同时又配以相应的图片.代码实现部分也予以明确的注释,希望给大家不一样的感受.AC自动机主要用于多模式字符串的匹配,本质上 ...
- python 魔法方法(学习过程的笔记)
有小伙伴会问,什么是python的魔法方法,python的魔法方法有什么用呢, 它们在面向对象的Python的处处皆是.它们是一些可以让你对类添加"魔法"的特殊方法. 它们经常是两 ...
- RAISERROR
RAISERROR 可以抛出一个错误,并被程序捕获,在存储过程经常使用: 是否进入Catch代码执行区域,在于错误严重等级设置 RAISERROR ('无效数据', 11 , 1) 第一个参数:自定义 ...
- javaScript数组去重方法
在JAvascript平时项目开发中经常会用到数组去重的操作.这时候就要用到JS数组去重的方法了. demo1: 第一种:JS数组去重操作方法是利用遍历原数组,利用数组的indexOf()方法来来判断 ...
- JavaScript学习日志(六):事件
这篇随笔,深恶痛绝,敲到快结束的时候,凌晨00:19,突然闪退,也不知道是Mac的原因还是chrome的原因,重新打开的时候,以为自动保存有效果,心想没关系,结果他么的只保存了四分之一,WTF?!!! ...
- Jquery 绑定标签事件
为子元素绑定: $('#foreachResult').delegate('td', 'click', function () { alert($(this).text()); ...
- PHP初入,简易网页整理(布局&特效的使用)
html><html> <head> <meta charset="UTF-8"> <title></title> ...
- CCIE-交换路由复习笔记
交换 考点: 1.trunk link(基础) 2.vtp 3.vlan 4.stp rstp mstp 5.hsrp vrrp glbp 6.ec Trunk link: 修改封装模式 802.1q ...