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 ...
随机推荐
- saltstack 源码安装
面向对象编程(oop) 面向对象: 面向对象三大特性: 封装 继承 多肽封装: 封装就是将具体的客观事物封装成抽象的类.并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可行的进行信息隐藏继承 ...
- c++调用com口操作autocad
#include "stdafx.h" #include <atlcomcli.h> #import "D:\\C++test\\FirstCom\\Rele ...
- 使用Maven构建JavaEE项目
学习要点 Maven简介 Maven构建项目 MyEclipse中Maven的使用 Maven简介 Maven作用 对第三方依赖库进行统一的版本管理 统一的目录结构,统一各平台各IDE目录 统一的软件 ...
- 初探node.js
一.定义及优势 定义:Node.js是一个基于 Chrome V8 引擎 的 JavaScript 运行时,它以事件驱动为基础实现了非阻塞模型. 优势:由于Web场景下的大多数任务(静态资源读取.数据 ...
- 找回Settings Sync的gist id和token
方法一:如果你本地有缓存参考:https://www.cnblogs.com/zhang1028/p/9514471.html 方法二:如果你电脑重装系统了 1.找回gist id 登陆你的githu ...
- 简单DP内容
1. 最长上升子序列 [题目描述] 给定N个数,求这N个数的最长上升子序列的长度. [样例输入] 7 2 5 3 4 1 7 6 [样例输出] 4 第一种解法:时间复杂度O(n^2), 状态设计:DP ...
- set指令详解
set指令详解 功能说明:设置shell 语 法:set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...] 说 明:设置或取消设置shell选项 ...
- 如何用纯 CSS 创作一个荧光脉冲 loader 特效
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/erRzzR 可交互视频教程 此视 ...
- CTSC1998 选课(背包类树形Dp)
题意: 给出 n 节课的先修课号以及学分(先修课号指的是在学习某节课时先需要学习的课程),求学 m 节课的最大学分. 细节: 1.对于课程 a 其先修课号为 b ,对于课程 b 其先修课号为 c ,则 ...
- python常用函数 C
1. Counter(hashable) 直接使用统计可哈希元素每个元素的数量. 2. most_common:可以统计数量最多的n个元素. from collections import Count ...