二模 (8) day1
第一题:
题目大意:
梦幻城市每年为全市高中生兴办一次运动会。为促使各校同学之间的交流,采用特别的分队方式:每一个学校的同学,必须被均匀分散到各队,使得每一队中该校的人数皆相同。为增加比赛的竞争性,希望分成越多队越好。你的任务是由各校的人数决定最多可以分成的队数。
解题过程:
1.直接求所有数的最大公约数即可。
初始得分100.
第二题:
题目大意:
给出一个式子火柴棍组成的A+B=C。(A,B,C<=999),求移动最少的火柴使得等式成立。不允许改变位数以及符号,不要制造0开头的数。
解题过程:
1.一开始想到用dfs什么的直接暴搜,但是写起来各种麻烦。。而且可能还很慢。
2.考虑到数的范围<=999,那么就枚举目标状态的A和B,1000*1000的复杂度,然后计算初始状态到目标状态的最少步数。。
3.计算最少步数的过程:先打个表,move[i][j]表示数字i到数字j需要移动多少根火柴使得i是j的一部分,或者j是i的一部分。
比如 0到6,需要把0的一根火柴移到最中间,所以move[0][6]=1. 1 到 7,1本身就是7的一部分,所以move[1][7]=0;
然后用hash[i][j] 表示 i 变成 j 需要添加 多少根火柴。 比如 4需要4根火柴,8需要7根,所以
hash[4][8]=3;
hash[8][4]=-3; (负数表示需要拿掉火柴)
4.然后把初始状态和目标状态逐位 比较 计算距离 , 比如 12 到 23 ,1变成2 需要添加3根火柴,2到3需要移动1根火柴。
用tmp1表示一共需要添加多少根火柴,tmp2表示一共需要移走多少根火柴(就是所有负数的绝对值的和),tmp3表示需要移动多少根火柴。 首先必须满足tmp1= tmp2,也就是目标状态和初始状态用的火柴一样多。。然后更新ans。
ans=min(ans,tmp1+tmp3);
有点贪心的思想。 初始得分100。
第三题:
题目描述:
长郡中学校长打算举行建校100周年的晚会。学校的职员是分等级的,也就是说职员之间的上下级关系组成一棵以校长为树根的树。校长要亲自邀请一些职员参见晚会。同时校长亲自到场欢庆这个节日。职员用1~n之间的整数编号,人事处给出了每个职员的搞笑指数。如果一个人和他上司一起参加,那么便可能产生麻烦。为了使晚会的每个参加者都高兴,校长不会同时邀请某个职员和他的顶头上司。
你的任务是给出一个客人列表,使得客人的搞笑指数之和最大。
解题过程:
1.裸的树形dp。但是 题目说的不是很清楚,题目的本意 貌似是 校长在1~n里,且校长必须选。。
2.一开始把校长不考虑在n个人中,然后虚拟了一个节点(校长),结果就WA 5个点了。 初始得分50.
二模 (8) day1的更多相关文章
- 二模 (16) day1&day2
第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007. n<=1000000 解题过程: 1.递推式还 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- 二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
- 二模 (12) day1
第一题: 题目大意: 求由N个1,M个0组成的排列的个数,要求在排列的任意一个前缀中,1的个数不少于0的个数.N,M<=5000. 解题过程: 1.看到N,M的范围就明确肯定不会是dp,因为起码 ...
- 二模 (3) day1
第一题: 题目描述: 一个数列定义如下:f(1) = 1,f(2) = 1,f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给定 A,B 和 n 的值,要求计算 ...
- 二模 (15)day1
第一题: 题目大意: 有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个. 解题过程: 1.这题是刘汝佳<<训练指南>>上的一道经 ...
- 二模 (13)day1
第一题: 题目大意: N个发射站排成一排,求每个发射站左右第一个比它高的发射站. N<=1000000 解题过程: 1.前几天做poj的时候刚好在discuss里看到有一个神奇的东东叫单调栈,正 ...
- 二模 (11) day1
第一题: 题目大意:用邻接矩阵给出一棵树(边权非负)上N个节点相互之间的最短路距离,求这棵树所有边权的和. 解题过程: 1.暂时还没想出来,待AC. 第二题: 题目大意:给出一些单词,然后建立Trie ...
- 二模 (9)day1
第一题: 题目大意: 给出一个n位01串,要么不动它,要么把它删掉一个字符,要么插入一个字符(0或1),要么把一个1变成0,.使得有1的位置号的总和是n+1的倍数,或者是0. 解题过程: 1.直接枚举 ...
- 二模 (10)day1
第一题: 题目描述: 一个阅览室每天都要接待大批读者.阅览室开门时间是0,关门时间是T.每位读者的到达时间都不一样,并且想要阅读的刊物不超过5本.每位读者心里对自己想看的刊物都有一个排位,到达之后他会 ...
随机推荐
- SG 复习全部 (全部SG 总览)
1. SQL 基础 进入查缺补漏阶段 2. PL/SQL 进入 practice 阶段 3. Fundamental 1 这部分还是比较重要 architecture 数据库启动与关闭步骤 insta ...
- poj3714Raid(平面最近点对)
链接 模板 稍加一点标记 模板 #include <iostream> #include<cstdio> #include<cstring> #include< ...
- hdu4588Count The Carries
链接 去年南京邀请赛的水题,当时找规律过的,看它长得很像数位dp,试了试用数位dp能不能过,d出每位上有多少个1,然后TLE了..然后用规律优化了前4位,勉强过了. 附数位dp代码及找规律代码. #i ...
- Python学习(6)循环语句
目录 Python循环语句 - while循环语句 -- 无线循环 -- 循环使用else语句 -- 简单语句组 - for循环语句 -- 通过序列索引迭代 -- 循环使用else语句 - 循环嵌套 ...
- Oracle 中union的用法
UNION 指令的目的是将两个 SQL 语句的结果合并起来,可以查看你要的查询结果. 例如: SELECT Date FROM Store_Information UNION SELECT Date ...
- Python学习笔记8—语句
条件语句 有的程序里写的是 /usr/bin Python,表示 Python 解释器在/usr/bin 里面.但是,如果写成 /usr/bin/env,则表示要通过系统搜索路径寻找 Python 解 ...
- Linux GDB Debug
http://blog.jobbole.com/107925/ gdb 调试入门,大牛写的高质量指南 http://blog.jobbole.com/107759/ gdb是the GNU Debug ...
- vm 安装 vcenter 本主要记录选择l现有的受支持数据库
1.将先决条件安装完毕. 安装 .NET3.5 全部下一步记录设置的密码.备忘.
- 自定义 密码是否可见 的EditView 右侧带个小眼睛
package com.qyk.douban.widget; import android.content.Context; import android.text.Editable; import ...
- 记一次基于Unity的Profiler性能分析
A. WaitForTargetFPS: Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间 B. Overhead: Profiler总体时间-所有单项的记录时间总和.用于 ...