SDKD SingleTest A 题解 2015-04-03
来源:互联网 发布:linux arp老化 编辑:程序博客网 时间:2024/06/14 09:04
A:POJ2385 动态规划。题目告诉Bessie在T时间内可以往返W次以及每秒钟1、2哪棵树会落下苹果,根据题意可得递推公式 dp[i][j]=max(dp[i-1][j-1],dp[i-1][j]);其中i为当前时间 j为当前往返次数 如果j为偶数 当前在1树下 若此时1刚好落下苹果 则将当前值加1 j为奇数时同理 最后输出所得最大数目。
B:POJ2386 简单DFS。给出一张m行n列的图 w为水。为陆地 w可向八个方向连同 视为一个水塘 求水塘个数 。DFS求连通块数目即可。
C:POJ2387 动态规划 / 回溯。给出N土地数 T 土地之间路的条数 以及每条路所连接的两个地点 时间 求从N到1所需的最短时间。可以推出状态方程dis[j]=min(dis[j],dis[mark]+G[mark][j])求解。由于N最大为1000,若用回溯法,则需要进行特殊处理剪枝。用一个一维数组vis判断当前地点是否访问过的同时 保存到该点的最短时间,另用一个二维组存储路径方向的同时存储任意两点之间的最短时间(可能有多条道路连同这两点),回溯时 如果存在位置i使得road[pos][i]!=-1&&len+road[pos][i]<ans&&len+road[pos][i]<vis[i]则可以进行递归 如此便节省大量时间 成功剪枝。
D:
POJ
2389水题。给出一组数据 求中位数。E:POJ2389大数乘法。并不需要模板。字符串读入数据 转化为int型逐位保存在两个数组中 分析可知ans[j+i]+=num1[i]*num2[j];将结果保存在ans中后 逐位处理 如果当前数大于等于10 则将该数取余 将下一位加上该位数/10 处理完后得到的结果是逆序的 去掉末尾的0 逆序输出 即可得到结果。
F:POJ2390 水题。给出年份利率本金 求所得的总数。
*G:POJ1988 并查集
*I:POJ1990 树状数组
*J:POJ1991 贪心+动态规划
0 0
- SDKD SingleTest A 题解 2015-04-03
- SDKD SingleTest B 题解 2015-04-03
- SDKD TeamContest F 题解
- SDUST SingleTest A(15.4.3)
- SDKD TeamContest A-K - 1011
- SDKD TeamContest A-E - 1005
- SDKD Summer Team Contest A
- SDKD 2016 Summer Single Contest #02.A
- SDKD 2016 Summer Single Contest #03.A
- SDKD 2016 Summer Single Contest #13 .A
- SDKD 2017 Spring Team Training ------A
- SDKD 2017 Spring Team Training A--B
- SDKD 2017 Spring Team Training A---E
- date0405/SingleTest.java
- 2015 Astar Contest - Round 2A 题解
- SDKD校赛
- A - Hunters题解
- codeforces A. Cakeminator 题解
- T-SQL查询处理执行顺序(一)
- 推荐!国外程序员整理的机器学习资源大全
- SSH+oracle开发环境搭建。MyEclipse 10+Struts2+Hibernate3.3+Spring3.2.3+tomcat-6.0.35
- web前端
- 归并排序 过程详述
- SDKD SingleTest A 题解 2015-04-03
- T-SQL查询执行顺序(二)
- linux下cat命令详解
- centos 安装mysql并设置密码
- 3.9
- Cocos2d-x 跟随光线效果实现
- Tomcat delegate类加载
- 云南本土教育类网站制作,该如何选择云主机服务商
- linux下echo命令详解