Google Code Jam Round2 A,B题解
2015-06-01 21:56
405 查看
咦莫名奇妙就进Round3了。。本来打算混一件衣服就好的
A
给你一张地图。有^<v>和.。分别表示4个方向和空。走到空格上如果原来有方向则方向不变继续运动。如果空格为起始位置则不动
要求改变某些箭头,使得从任意一个位置出发都不会走出地图。
因为不要求构造方案嘛。。这题就很好做了
我们从每格开始沿着箭头走。每走出一次地图则ans+1。
如果走到前面已经走过的位置则直接return
这时候ans已经出来了
然后再看看每个箭头的上下左右四个方位是否有别的箭头。如果有的话则有解,输出ans
否则输出IMPOSSIBLE
B
有n种水管,第i个流速Vi,温度Xi
现在要获得体积为V温度为X的液体。问最少要放多久的水,每种水管可以一起放水
温度的计算公式为(v1*x1+v2*x2)/(v1+v2)
据说可以用凸包的做法做。。可我只会二分
我们先把液体按照温度排序,然后二分时间T,然后看看在T的时间内可以达到的最高温度和最低温度
然后逐步逼近可行解就可以了
在题目要求的精度范围下还可以接受。。精度再高一点就会TLE了
A
给你一张地图。有^<v>和.。分别表示4个方向和空。走到空格上如果原来有方向则方向不变继续运动。如果空格为起始位置则不动
要求改变某些箭头,使得从任意一个位置出发都不会走出地图。
因为不要求构造方案嘛。。这题就很好做了
我们从每格开始沿着箭头走。每走出一次地图则ans+1。
如果走到前面已经走过的位置则直接return
这时候ans已经出来了
然后再看看每个箭头的上下左右四个方位是否有别的箭头。如果有的话则有解,输出ans
否则输出IMPOSSIBLE
B
有n种水管,第i个流速Vi,温度Xi
现在要获得体积为V温度为X的液体。问最少要放多久的水,每种水管可以一起放水
温度的计算公式为(v1*x1+v2*x2)/(v1+v2)
据说可以用凸包的做法做。。可我只会二分
我们先把液体按照温度排序,然后二分时间T,然后看看在T的时间内可以达到的最高温度和最低温度
然后逐步逼近可行解就可以了
在题目要求的精度范围下还可以接受。。精度再高一点就会TLE了
相关文章推荐
- Go随机数
- Go 只读/只写channel
- go os/exec执行外部程序
- Go signals 信号
- Go 环境变量相关操作
- Go命令行参数解析flag包
- setjmp和longjmp goto应用
- 1.2 reverse a C-Style String
- 解決google在scroll裡左右拖動的問題
- GoogleCodeJam2015第二轮
- Go的pprof使用
- Golang Channel用法简编
- 一个有关Golang变量作用域的坑
- Goroutine是如何工作的
- Go语言是如何处理栈的
- django中url,静态文件,POST请求的配置
- django中url,静态文件,POST请求的配置
- Go语言学习笔记(一) : 搭建Windows下的Go开发环境
- mode_t 内核文件权限值 S_IRUGO=S_IRUSR | S_IRGRP | S_IROTH