08day1
高中运动会
最大公约数
【问题描述】
梦幻城市每年为全市高中生兴办一次运动会。为促使各校同学之间的交流,采用特别的分队方式:每一个学校的同学,必须被均匀分散到各队,使得每一队中该校的人数皆相同。为增加比赛的竞争性,希望分成越多队越好。你的任务是由各校的人数决定最多可以分成的队数。
【输入】
第一行一个正整数 n ,代表学校的个数。
接下来 n 行,每行一个正整数,分别代表这 n 个学校的人数。
【输出】
最多可分成的队数。
【数据规模】
对于 100%的数据,n≤500,每个学校人数最多 10000。
【解题过程】
直接求所有数的 GCD。
智力游戏
枚举
【问题描述】
小华最近迷上了一个你小时候已经玩厌了的游戏:移火柴棒。他现在吵着要你陪她玩,你没办法,
只好写一个程序来完成这个工作了。
你被给出了一个火柴拼成的等式,比如下面这个,5+7=7:
它显然是不成立的,但是我们可以通过移动一个其中的火柴使得它成立。变成如下一个等式:
现在给出一个类似的等式,请问,最少移动多少根火柴可以使得它变成一个成立的等式?
每个数字的表示方法如下:我们用 7 根火柴表示每一个数字。火柴编号 0~6,如下图:
每一个数字都可以用对应的火柴组成的集合表示:
1:{2,5} or {1,4} 2:{0,2,3,4,6}
3:{0,2,3,5,6} 4:{1,2,3,5}
5:{0,1,3,5,6} 6:{0,1,3,4,5,6}
7:{0,2,5} 8:{0,1,2,3,4,5,6}
9:{0,1,2,3,5,6} 0:{0,1,2,4,5,6}
【输入】
输入有三个数字,分别表示上面的表达式中的从左到右的三个数字,每个数都在 0~999 之间。
【输出】
输出只需一个数,表示使等式成立最少需要移动的火柴数,不允许改变位数以及符号,不要制造 0
开头的数。
【输入样例】
5 7 7
【输出样例】
1
【解题过程】
一看数据范围二话不说就枚举了。
枚举出两个加数就能算出正确的和,然后拆解,打个表记录每个数字所需的火柴数,如果这里枚举出的两个加数以及和的总火柴数与题目给出的不相等就直接跳过。
然后计算至少需要移几根火柴才能从初始状态移到当前状态。打个表记录一个数字与另外一个数字在同一位置上的火柴数,比如 6 和 3 有四根火柴是在相同的位置上的。用总火柴数减去各个数对应的在各自位子上的火柴数之和即是最小移动步数。题目给出了不允许改变位数和符号的限制大大降低了难度。
但是中间细节错了后来查了好久才找到错。
第一次提交 70 分左右?反正没 AC。
周年纪念日
树型动规
【问题描述】
某中学校长打算举行建校 100 周年的晚会。学校的职员是分等级的,也就是说职员之间的上下级关系组成一棵以校长为树根的树。校长要亲自邀请一些职员参见晚会。同时校长亲自到场欢庆这个节日。职员用 1~n 之间的整数编号,人事处给出了每个职员的搞笑指数。如果一个人和他上司一起参加,那么便可能产生麻烦。为了使晚会的每个参加者都高兴,校长不会同时邀请某个职员和他的顶头上司。
你的任务是给出一个客人列表,使得客人的搞笑指数之和最大。
【输入】
第一行一个整数 n(1≤n≤6000)。
以下 n 行每行是相应编号职员的搞笑指数,该数的返回是[-128..127]。
然后是职员的关系树,每行格式是<x> <y>,意思是第 y 个职员是第 x 个职员的顶头上司。输入以 0 0 结束。
【输出】
最大的搞笑指数之和。
【输入样例】
7
1
1
1
1
1
1
1
1 3
2 3
6 4
7 4
4 5
3 5
0 0
【输出样例】
5
【解题过程】
很典型的树型动规,用 f(i, 0) 表示 i 没有出席所能达到的最大和,f(i, 1) 表示 i 出席了所能达到的最大和,则
f(i, 1) = sum{ f(j, 0), i 是 j 的直接上司 }
f(i, 0) = sum{ f(i, 0)+f(i, 1), i 是 j 的直接上司 }
很纠结的地方是校长到底有没有在这棵树中。不过这不是重点,NOIP 的题目不会这么坑。
08day1的更多相关文章
- 二模08day1解题报告
T1.高中运动会(match) N个数的最大公约数. gcd不解释. T2.智力游戏 火柴棒等式形如a+b=c,现在给出啊a,b,c求使等式成立的最小的移动次数. 火柴棒表示数字不用解释了吧,在此提醒 ...
随机推荐
- MySQL数据库优化总结
对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要.一般来说,要保证数据库的效率,要做好以下四个方面的工作:数 据库设计.sql语句优化.数据库参数配置.恰当的硬件资 ...
- 怎样强制QQ聊天
首先复制下面这段网址: http://wp.qq.com/open_webaio.html?sigt=2d3bb7d31517da8c94a1061c6b63dd3203eb633805dcd09ec ...
- procedure can't return a result set in the given context
调用存储过程失败!出现如下错误:PROCEDURE ipbx.qu_ery can't return a result set in the given context, ipbx是数据库, qu_e ...
- $headers = $this->input->request_headers();返回请求头(header)数组
请查看:CI中的输入类部分 建议用第一个 $headers = $this->input->request_headers() $this->input->request_he ...
- hdu 4753 Fishhead’s Little Game 博弈论+记忆化搜索
思路:状态最多有2^12,采用记忆化搜索!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm& ...
- Jmeter以non-gui模式进行分布式测试
http://www.51testing.com/html/61/n-2422461.html
- 在Unity中使用贝塞尔曲线(转)
鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天因为工作的原因需要将贝塞尔曲线加在工程中,那么MOMO迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的任意角度的曲线,这两个点一个是 ...
- Linux命令-tar
tar命令用于对文件打包压缩或解压 格式:tar [选项 -C 指定解压到的目录] [文件] 打包并压缩文件: tar -zcvf 压缩包名.tar.gz 文件名 解压并展开压缩包 tar -zxvf ...
- form提交的时候使用method=get导致乱码
一个a.jsp提交给b.jsp, b.jsp中使用 request.setCharacterEncoding("UTF-8"); 解决乱码 a.jsp中的form忘了写method ...
- java基础篇---I/O技术
java基础篇---I/O技术 对于任何程序设计语言而言,输入输出(I/O)系统都是比较复杂的而且还是比较核心的.在java.io.包中提供了相关的API. java中流的概念划分 流的方向: 输 ...