迎接2012新赛季——HDOJ系列热身赛(4)部分结题报告
http://acm.hdu.edu.cn/contests/contest_show.php?cid=392
我们还是很水啊。。。。加油
感觉今天的题都挺难的,我和von一起组队做的,就出了两道题。郁闷啊。。
A:没看
B:前5道是von负责的,由于前几天做过一道优先队列的bfs所以von很快就1Y了。orz..赛后自己也敲了一下1Y:
代码:
![](/assets/blank.gif)
![](/assets/blank.gif)
#include <cstdio>#include <cstring>#include <iostream>#include <queue>#define maxn 507using namespace std; struct node{int x,y;int num; friend bool operator < (const node &a,const node &b) {return a.num > b.num; }};int h,w,mark,sx,sy;char str[maxn][maxn];bool vt[maxn][maxn];int f[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};priority_queue<node>q; int bfs(int sx,int sy){ node p; p.x = sx; p.y = sy; p.num = 1;while (!q.empty()) q.pop(); q.push(p); vt[p.x][p.y] = true;while (!q.empty()) { node cur; cur = q.top(); q.pop();if (cur.x == 0 || cur.x == h -1 || cur.y == 0 || cur.y == w -1) {return cur.num; }for (int i = 0; i < 4; ++i) { p.x = cur.x + f[i][0]; p.y = cur.y + f[i][1];if (p.x >= 0 && p.x < h && p.y >= 0 && p.y < w && !vt[p.x][p.y] && str[p.x][p.y] != '#') { vt[p.x][p.y] = true; p.num = cur.num + 1;if (str[p.x][p.y] == '@') p.num += mark; q.push(p); } } }}int main(){int i,j,t; scanf("%d",&t);while (t--) { memset(vt,false,sizeof(vt)); scanf("%d%d%d",&h,&w,&mark);for (i = 0; i < h; ++i) { scanf("%s",str[i]);for (j = 0; j < w; ++j) {if (str[i][j] == 'S') { sx = i; sy = j; } } }int ans = bfs(sx,sy); printf("%d\n",ans); }return 0;}
其他几道都木解出来。。。。。更新中。。。
G:一道博弈论的题目,一看到它就郁闷了,因为博弈论什么的都忘得差不多了。研究了很长时间还是没找出规律来。赛后问了问日华,再参考了一下代码才明白的。。
博弈论:1:sg函数解题。2:p/n分析找规律解题。这道题属于p/n分析找规律解题。
p必败点:其所有的后继点都是必胜点。n必胜点:其后继中存在必败点。。。。
分析1到k-1 在这个范围里面只能取一枚硬币,故有0--k-1 p,n,p,n,p,n.........当取得k时可以有两种取法1或者k能够到达0必败点所以k这点是必胜点。一次往后退规律。发现
当k为奇数时 所有的情况是0--s p,n,p,n,p,n.........
当k为偶数时有
0-k p,n,p,n,p,n......n,n
k+1 - 2*k+1 p,n,p,n,p,...n,n
......
贴一个日华的打表找规律的代码,orz
![](/assets/blank.gif)
![](/assets/blank.gif)
本题代码
![](/assets/blank.gif)
![](/assets/blank.gif)
J:开始没注意到这道题,看着有人a了这道就来看了,题很长可是题意很简单就是给你直角三角形的一条直角边,求最小的斜边和另一条直角边。。给的数据很大,两个循环枚举肯定TLE..
我就在那想三角形的性质:三边关系在枚举中剪枝行吗? 不行。。又画了画图,看着斜边无限的增大,另一条直角边也无限的增大郁闷了。。
忽然就想到了z^2 - x^2 = y^2 可以把y^2分解成两个数的乘积,z+x = a; z - x = b; a>b&& z >x
![](/assets/blank.gif)
![](/assets/blank.gif)
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#define inf 0x7fffffffusing namespace std; int main(){int N,i,a,b;double ansx,ansy,z,x;int t; scanf("%d",&t);while (t--) {bool flag = false; ansx = inf; ansy = inf; scanf("%d",&N);for (i = 1; i <= sqrt(1.0*N); ++i) {if (N%i == 0) { a = N/i; b = i; z = 1.0*(a + b)/2.0;int tmp = (int)z;//z保证是大于0整数 if (tmp != z) continue; x = z - min(a,b);if (x >= 0)//x保证是大于0整数 { flag = true;if (ansx > x && ansy > z) { ansx = x; ansy = z; } } } }if (flag) printf("%.0lf %.0lf\n",ansx,ansy);else printf("IMPOSSIBLE\n"); }return 0;}
转载于:https://www.cnblogs.com/E-star/archive/2012/04/03/2431234.html
迎接2012新赛季——HDOJ系列热身赛(4)部分结题报告相关推荐
- 阿里新消费指数系列之一:品质消费指数报告
看到了阿里出的品质消费指数报告,搬运过来,供大家学习. 报告比较宏观的阐述了当前网购的趋势.当前网购主力军以泛90后为主,且网购愈发趋向于高端商品的购买.如运动户外.家具和手机数码类产品,近几年的购买 ...
- 扶我起来我还能打:NBA新赛季开打,历史数据看勇士是否无敌?
大数据文摘作品 作者:王昱森.钱天培 编辑:韩蕊.刘涵 "问题依然只有一个,谁能对抗现在勇士?"还记得这个一路被热议的话题吗?NBA新赛季已开启,这个激动人心的常规赛依然看点颇多. ...
- SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引
SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流. 3w@live.cn ◆0.SQL应用系列 1.SQL Server 2008中SQL增强之一:Values新用途 ...
- [原创]windows server 2012 AD架构 试验 系列 – 5 AD备份与还原
[原创]windows server 2012 AD架构 试验 系列 – 5 AD备份与还原 沿用以前的环境,备份DC1,关闭DC2, 这里使用的备份工具是windows server 2012 ba ...
- 连接失败_iG.Firefox连接失败?iG新赛季仍未敲定主教练人选
伴随前不久德玛西亚杯赛事的正式结束,也意味着今年全部的正式赛程已完结,各大战队将要准备迎接全新赛季.而大部分LPL战队明年新赛季的首发阵容名单都已先后出炉,但唯独一支战队例外,它就是iG战队.iG战队 ...
- centos php 绑定域名,彪马携手西甲联盟正式发布两款新赛季官方比赛用球
今天,著名运动品牌彪马(PUMA)携手西甲联盟(LaLiga)共同推出了20/21赛季西甲联盟官方比赛用球,该用球将在下赛季西甲联赛和西乙联赛的赛场上投入使用.新赛季官方用球采用两种外观设计:Acce ...
- Crypto Legends新赛季改动需知
今天继续聊Crypto Legends(下文简称CL)这款游戏. 最近年底忙着一个项目结题,天天在实验室加班到十点,背后吐槽导师的拖延症,拖到最后还是要让我们加班受罪,希望老板们最后可以多发点年终奖励 ...
- php代码显示灰色,彪马携手西甲联盟正式发布两款新赛季官方比赛用球
今天,著名运动品牌彪马(PUMA)携手西甲联盟(LaLiga)共同推出了20/21赛季西甲联盟官方比赛用球,该用球将在下赛季西甲联赛和西乙联赛的赛场上投入使用.新赛季官方用球采用两种外观设计:Acce ...
- [原创]windows server 2012 AD架构 试验 系列 – 3 创建备份DC2
[原创]windows server 2012 AD架构 试验 系列 – 3 创建备份DC2 环境: DC2 ,192.168.20.101 ,DNS 指向根域 1 添加角色和功能 2提升域控 在提升 ...
最新文章
- NEC中标里斯本智慧城市项目 助力城市整体数字化变革
- pandas将dataframe中的内容为列表(list)的数据列裂变、拆分为多个新的数据列实战:拆分为多个新的数据列(并指定新数据列的名称)、数据列中的列表(不等长)拆分为多个新的数据列产生NaN
- 厉害了!一个Nvidia PC可运行四个Vives
- 卷积神经网络模型解读汇总——LeNet5,AlexNet、ZFNet、VGG16、GoogLeNet和ResNet
- Ubuntu服务器运行js,让js一直运行下去
- c/c++ 前置声明 -- typedef问题
- 【华为云分享】机器学习笔记(七) ---- 贝叶斯分类
- linux yum安装redis5.0,CentOS 7安装Redis 5.0.5并加入Systemd服务
- 与 Netcraft 携手为 GlobalSign 的客户提供先进的保护措施以防止网站遭受恶意入侵和钓鱼攻击...
- OracleLinux6的安装
- Ubuntu 16.04下安装VMware Tools
- 2012 年上半年系统分析师 案例分析真题
- HTML5之横向二三级,纵向三级导航栏
- 国产化软件ATECLOUD与LabVIEW软件相比有何优势
- PMP学习笔记 第5章 项目范围管理
- js中new一个对象的过程
- 【旅行】2月17日 南京 - 日照 451公里自驾过年
- 52 图初探 Linux 通用知识
- 【VTK+有限元后处理】符号化矢量场绘制
- 简要描述CSS 中的定位机制。
热门文章
- 优思学院|六西格玛设计方法IDDOV是什么?
- win32Day05:GDI绘图
- python幂函数无序分布_Python:从幂律分布中生成随机数
- 25【中介者设计模式】
- 总结在java编程中的经验教训
- html滚轮下拉动画,html5+css3齿轮滚动动画代码
- mysql 截取括号内字符串_Mysql字符串截取_获取指定字符串中的数据
- 前端开发实战:实现京东购物平台的静态首页
- 风格迁移1-02:Liquid Warping GAN(Impersonator)-源码模型测试-报错解决
- 区块补习班 | 假酒害人屡禁不止?对不起我来晚了!