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看题总结的更多相关文章

  1. UVALive 4953 Wormly--【提醒自己看题要仔细】

    有一条虫要过桥,桥有断的木板和好的木板.虫有L条腿B个身体,桥长N.01串表示桥的好坏.输出最少操作次数. 一开始虫的身体在最左B桥上,腿在最左L桥上,最后要到达最右B以及最右L... 操作有2种:① ...

  2. THUPC2018看题总结

    THUPC2018看题总结 #6387. 「THUPC2018」绿绿与串串 / String 据说是签到题啊. 首先根据题目的意思,我们发现如果能找到那个最后一次选择的对称轴岂不是美滋滋. 自然地,我 ...

  3. HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?

    这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others)  ...

  4. 欧拉计划(1~3)ps:以后看题一定要认真

    那天的题挺简单的 下面来看下 No1 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get ...

  5. Hibernate 测试分析 好多题都是没认真看题错了。

    此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通过属性作为筛选条件,如统计报表数据.使用交叉连 ...

  6. hdu 1005 1021 递归超限 找规律 // 只要看题中n较大都是有规律的

    因为n>1000000000所以用递归 数组超限, 由递归函数f(n)=(A*f(n-1)+B*f(n-2))%7; 因为是除7的余数 因次一共有7*7=49种情况, 以后的值都和之前的对应相等 ...

  7. 年底了,特贡献一些C#有意思的算法题

    2013年,即将要过去了.屌丝C#程序员们拿到了年终奖不?是不是又想蠢蠢欲动了?是不是想通过跳槽来为自己实现加薪的梦想?好吧,跳槽之前还是做点准备吧,准备好C#的笔试吧.这里我收集了些奉献给大家,大家 ...

  8. 【BZOJ2456】mode 神奇的卡内存题

    以后把题解放在前面,估计没人看题解先看题... 内存1M,4个int(其实对内存的概念十分模糊),众数即为出现次数最多的数,可以用抵消的思想(但是众数不是可以是一大坨么...) #include &l ...

  9. ocp 1Z0-047 131-276题解析

    131. Which view would you use to display the column names and DEFAULT valuesfor a table?A. DBA_TABLE ...

随机推荐

  1. 使用 Azure ARM 部署Word Press 遇到 Extension节点 扩展的问题

    在使用Azure ARM模式部署wordpress,将php网站压缩成zip的形式在DefaultTemplate模板中已扩展的形式实现安装 遇到的问题总结: 1.开始在sites节点中,resour ...

  2. 飞秋软件的OA消息接口服务器

    由于单位使用了飞秋,同时也使用了OA,但OA的消息系统没有飞秋方便,所以大多数人还是在用飞秋沟通.但审批等流程又在OA上,所以做了个消息接口服务器,提取OA消息自动发送到飞秋上,大大方便了工作. 正好 ...

  3. 洛谷 P2604 [ZJOI2010]网络扩容

    题目描述 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不扩容的情况下,1到N的最大流: 2. 将1到N的最大流增加K所需的最小扩容费用. ...

  4. WEB前端研发工程师编程能力成长之路(2)(转)

    WEB前端研发工程师编程能力成长之路(2)   四.[入微] 最强解决方案.你能够走在需求的前面,将当前需求里有的.没有直接提出来的.现在暂时没有但将来可能有的等等,及前端编程潜规则等各个方方面面都综 ...

  5. MATLAB GUI制作快速入门

    创建空白的GUI在MATLAB命令行中输入guide新建GUI,选择Blank GUI (Default),点击确定后就生成了一个空白的GUI制作界面,如下图所示 图1制作GUI的具体过程简单加法器将 ...

  6. nvidia 的一些命令

    直接在命令行使用 NVIDIA-smi会有问题 首先要确保电脑下了cuda. 然后打开cmd,使用cd命令进入: C:\Program Files\NVIDIA Corporation\NVSMI 然 ...

  7. Day.js 是一个轻量的处理时间和日期的 JavaScript 库

    Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js ...

  8. JAVA自定义栈

    public class Stack{ int[] data; int maxSize; int top; public Stack(int maxSize) { this.maxSize=maxSi ...

  9. 小程序02 wxml和wxss

    微信小程序的排版就跟wxml和wxss有关,它们两者相当于HTML和CSS,其中wxml指定了界面的框架结构,而wxss指定了界面的框架及元素的显示样式. 一.wxml 界面结构wxmL比较容易理解, ...

  10. JavaSE-28 hashCode()方法、equals()方法和==相关概念

    概述 Java中,Object类是所有类的基类:如果一个类没有明确继承其他已定义的类,则默认继承Object类. Object类提供了以下方法,对于其他方法,请参考前期专题描述. hashCode() ...