THUPC2017看题总结
THUPC2017 看题总结
#2402. 「THUPC 2017」天天爱射击 / Shooting
果题。
求当前子弹能会使多少块木板损坏,发现因为木板会随着子弹数目的增加而更加容易损坏,故此询问具有单调性。
而后又发现可以离线,考虑整体二分。
每次用一个\(solve(x,y,l,r)\)表示当前处理:编号为\(x\)到\(y\)的子弹,编号为\(l\)到\(r\)的木板。
把这些所有子弹都扔到树状数组里然后每个木板查询区间和看够不够用就好了。
一定要记得存在木板从始至终都没损坏的情况所以循环退出的时候需要特判。
#2404. 「THUPC 2017」体育成绩统计 / Score
这大模拟题....绝了~
#2405. 「THUPC 2017」玩游戏 / Game
这题就非常有意思了。
不难发现所有的情况肯定能通过以下方式构造出一组解:
每次贪心的放最大的就行了,证明显然啊.....
这样的话就只需要判一下是不是这两个数的和\(Sum\)存在一个数\(n\)使得\(\frac{n*(n+1)}{2}=Sum\)即可。
#2409. 「THUPC 2017」小 L 的计算题 / Sum
首先我们发现要求的东西非常整齐,以为是什么神仙\(dp\)啥的。
无果.....
想多项式吧,我们考虑能不能弄出这么一个生成函数使得\(f_i\)就是这个生成函数的第\(i\)项。
不妨设其为\(F\)。
那么显然的,这个生成函数就可以被表示成:
\[
F = \sum\limits_i \sum\limits_{j=1}^n a_j^ix^i
\]
考虑把\(a\)序列单独枚举:
\[
F = \sum\limits_{j=1}^n \sum\limits_i a_j^ix^i
\]
不难发现,后面的这个\(\sum\limits_i a_j^i x^i\)可以逆麦克劳林展开,变成\(\frac{1}{1-a_jx}\)。
所以原式就变成了
\[
F = \sum\limits _ {j = 1} ^ n \frac{1} {1 - a _ j x}
\]
这东西直接多项式求逆然后分治\(NTT\)搞一搞就好了嘛
会\(T\)........
然后怎么办呢?
原式其实等价于:
\[
F = \sum\limits _ {j = 1} ^ n 1 + \frac{a _ j x} {1 - a _ j x} \\
F = n - \sum\limits _ {j = 1} ^ n (ln(1 - a _ j x))' \\
F = n - (\sum\limits _ {j = 1} ^ n ln(1 - a _ j x))'\\
F = n - ln(\prod\limits _ {j = 1} ^ n (1 - a _ j x))
\]
后面的东西分治起来就相当快了
然后多项式取\(ln\)就好了。
剩下的题按照常理不就是应该咕咕咕的么啊哈哈哈哈
THUPC2017看题总结的更多相关文章
- UVALive 4953 Wormly--【提醒自己看题要仔细】
有一条虫要过桥,桥有断的木板和好的木板.虫有L条腿B个身体,桥长N.01串表示桥的好坏.输出最少操作次数. 一开始虫的身体在最左B桥上,腿在最左L桥上,最后要到达最右B以及最右L... 操作有2种:① ...
- THUPC2018看题总结
THUPC2018看题总结 #6387. 「THUPC2018」绿绿与串串 / String 据说是签到题啊. 首先根据题目的意思,我们发现如果能找到那个最后一次选择的对称轴岂不是美滋滋. 自然地,我 ...
- HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?
这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others) ...
- 欧拉计划(1~3)ps:以后看题一定要认真
那天的题挺简单的 下面来看下 No1 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get ...
- Hibernate 测试分析 好多题都是没认真看题错了。
此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通过属性作为筛选条件,如统计报表数据.使用交叉连 ...
- hdu 1005 1021 递归超限 找规律 // 只要看题中n较大都是有规律的
因为n>1000000000所以用递归 数组超限, 由递归函数f(n)=(A*f(n-1)+B*f(n-2))%7; 因为是除7的余数 因次一共有7*7=49种情况, 以后的值都和之前的对应相等 ...
- 年底了,特贡献一些C#有意思的算法题
2013年,即将要过去了.屌丝C#程序员们拿到了年终奖不?是不是又想蠢蠢欲动了?是不是想通过跳槽来为自己实现加薪的梦想?好吧,跳槽之前还是做点准备吧,准备好C#的笔试吧.这里我收集了些奉献给大家,大家 ...
- 【BZOJ2456】mode 神奇的卡内存题
以后把题解放在前面,估计没人看题解先看题... 内存1M,4个int(其实对内存的概念十分模糊),众数即为出现次数最多的数,可以用抵消的思想(但是众数不是可以是一大坨么...) #include &l ...
- ocp 1Z0-047 131-276题解析
131. Which view would you use to display the column names and DEFAULT valuesfor a table?A. DBA_TABLE ...
随机推荐
- FPGA原型验证
为什么要做FPGA原型验证? FPGA原型验证可以在IC流片前对芯片功能和性能做出评估,同时,可以给软件设计人员提供验证平台.所有的设计,无论是SOC还是ASIC都需要被验证(功能和时序验证),以确保 ...
- 自欺欺人的使用 NSTimer 销毁
自欺欺人的使用 NSTimer 销毁 Demo地址 1.NSTimer是要加到runloop中才会起作用. 常见的创建timer方式 // 第一种方式 @property (nonatomic , s ...
- CocosCreator工程内的命名
命名结构总体的命名结构遵循以下格式 前缀-内容-尾缀 - 前缀:用来定义node的属性- 内容:node的名字- 尾缀:序列或状态1231. 前缀说明:在开始的时候定义/声明这个节点的属性前缀可以是一 ...
- 7-Java-C(四平方和)
题目描述: 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + ...
- JS怎么创建一个类?
15. JS怎么创建一个类? 方式1 : var obj = new Object(); 方式2 : var obj = {}; 16.JS的typeof返回哪些数据类型? string.number ...
- ROI(Region of Interesting)
ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI.在Halcon.Ope ...
- MFC限制窗口大小
MFC限制窗口大小 使用:WM_GETMINMAXINFO message void OnGetMinMaxInfo(MINMAXINFO* lpMMI) { lpMMI->ptMinTrack ...
- viewport移动端适配,读文笔记
文章地址: viewport移动端适配 笔记: 移动端适配目的: 希望在屏幕尺寸大小不同的手机上进行访问页面时,页面显示的效果能合理的展示,我们期望的是在手机屏幕较大时显示的内容比较大一些,手机屏幕小 ...
- jQuery闪烁提示,让新消息在网页标题显示
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head& ...
- SQL语句操作SQL SERVER数据库登录名、用户及权限
要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许连接 SQL Server 服务器的权利: 获得访问特定数据库中数据的权利(select, update, de ...