27 October in ss
Contest
A. chrono
计算某年的干支纪年法年份。
Too easy.
然而我忘记 C++ 取模运算是向0取整。然而数据太水,还是有 90 分。
B. clock
计算某时刻时针和分针的夹角。假设时针和分针指针任意时刻对齐刻度,例如时刻 12:11 夹角为 0°,时刻 12:12 夹角为 6°。角度值范围 [0°, 180°)。
Too easy.
C. sequence
给定一个长度为 \(n\) 的数列 \(a\),每个修改操作仅限对一段连续区间进行自增、自减,求使数列每个数相同的最小操作次数,以及达到操作次数最小的方案总数。$1\le n\le 10^5,\ 0\le a_i< 2^{31},\ a_i\in \mathbf{N} $。
样例输入:
10
4 32 16 23 46 49 42 16 30 21
样例输出:
75
18
先对数列求出差分数组,记为 \(d=\{28,-16,7,23,3,-7,-26,14,-9\}\)。
求出 \(d\) 中所有正数的和、所有负数的和的相反数,二者最大值即为最小操作次数。
二者的差 \(+1\) 即为方案总数。
Why?
每次对数列的修改操作,对应到差分数组当中,则为对 \(d\) 中任意两个数进行修改,其中:一个自增、一个自减。由此,问题转化为把差分数组变为全 0 的操作次数。
显然,把正数变为 0 和把负数变为 0 应该是同步的,而其中一者多出来的次数是和数组整体做修改。所以最小操作次数即为二者最大值。多余的操作次数,可以是把整个数组自增,也可以是把整个数组自减。所以方案总数即为多余操作次数 \(+1\)。
拓展:把 \(n\) 个相同物品放入 \(m\) 个篮子, 若
(1) 篮子可以为空, 篮子不同:共有 \(C_{n+m-1}^{m-1}\) 种方案.
(2) 篮子不可以为空, 篮子不同:共有 \(C_{n-1}^{m-1}\) 种方案. (挡板法)
(3) 篮子可以为空, 篮子相同:方案递推式为 \(f(n,m)=f(n-1,m)+f(n,m-1)\).
(4) 篮子不可以为空, 篮子相同:方案算式为 \(f'(n,m)=f(n-m,m)\).
推广:记 \(Q(n,m)\) 为把自然数 \(n\) 拆分为 \(m\) 个无序的自然数的方案数.
\[\displaystyle Q(n,m)=\begin{cases} 1,& m=1\text{ or } n=1,\\ Q(n,n),& m>n,\\ 1+Q(n,n-1),& m=n,\\ Q(n,m-1)+Q(n-m,m),& m<n. \end{cases}
\]
D. milktea
已知摄入某能量物质可以减少任务完成时间,量化为物理量 \(a\text{ s} \cdot \text{mL}^{-1}\)。给定 \(n\) 个任务的 \(a_i\)、预计完成时间 \(b_i\)、期限时间 \(d_i\)。求使所有任务按时完成的最小某能量物质摄入量,保留两位小数。\(1\le n\le 2\cdot 10^5\)。
注:某能量物质的摄入对任意任务完成时间的作用是同时的、普适的。(被坑)
Too easy. 但是坑太深了……
27 October in ss的更多相关文章
- 20 October in ss
Contest A: sum 快速读. B: 鬼谷子的钱袋(coin) 贪心. 按照类似二进制的方式准备钱袋:1, 2, 4, 8, ... 以此装入的钱袋数目记为 \(N\). 如果最后剩余不足以凑 ...
- (转)TCP注册端口号大全
分类: 网络与安全 cisco-sccp 2000/tcp Cisco SCCPcisco-sccp 2000/udp Cisco SCCp# Dan Wing <dwing&cisco ...
- 海康SDK编程指南(C#二次开发版本)
海康SDK编程指南 目前使用的海康SDK包括IPC_SDK(硬件设备),Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息.本文 ...
- [官网]Linux版本历史
This is a list of links to every changelog. https://kernelnewbies.org/LinuxVersions 总结一下 2.6.x 存在了八年 ...
- ML.NET教程之客户细分(聚类问题)
理解问题 客户细分需要解决的问题是按照客户之间的相似特征区分不同客户群体.这个问题的先决条件中没有可供使用的客户分类列表,只有客户的人物画像. 数据集 已有的数据是公司的历史商业活动记录以及客户的购买 ...
- java.util.Collection List与其子类 Set与其子类
package com.Collection; import java.util.ArrayList; import java.util.Collection; import java.util.It ...
- c# 调取 c++ dll____c#调用dll
1.以海康摄像头dll为例.(文章转载https://www.cnblogs.com/smartsensor/p/4343744.html) 海康SDK编程指南 目前使用的海康SDK包括IPC_SDK ...
- 2018.8.11E-mail
1发送附件 Attached please find the XXX for your review and comment. Outlook的附件最好不超过10M,文件要用英语命名,视频音频要压缩 ...
- (转)vim 访问系统剪贴板
原文出处:http://vim.wikia.com/wiki/Accessing_the_system_clipboard Please review this tip: This tip was i ...
随机推荐
- org.dom4j 解析XML
org.dom4j 解析xml java 代码 1 import java.io.File; import java.io.FileOutputStream; import java.io.FileW ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- < python PIL - 批量图像处理 - 生成自定义大小图像 >
< python PIL - 批量图像处理 - 生成自定义大小图像 > 直接用python自带的PIL图像库,对一个文件夹下所有jpg/png的图像进行自定义像素变换 from PIL i ...
- Python 学习笔记15 类 - 继承
我们在编程的过程中,并非都是要重头开始.比如其他人已经有现成的类,我们可以使用其他找人编写的类.术语称之为: 继承. 当一个类继承例外一个类时,它可以获得这个类的所有属性和方法:原有的类称之为 父类, ...
- Java程序流程控制
程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...
- php页面出现空白解决方法
查询php程序使用内存情况 $size = memory_get_usage(); file_put_contents("d:/data.php", var_export($siz ...
- python依赖包整体迁移方法(pip)
做个记录 python依赖包整体迁移方法
- mongodb的有关操作
mongodb的几种启动方法 https://www.cnblogs.com/LLBFWH/articles/11013791.html MongoDB 之 你得知道MongoDB是个什么鬼 Mong ...
- NGUI的窗体的推动和调节大小(drag object和drag resize object)
一,我们先添加一个sprite,给sprite添加一个背景图片,然后attach添加一个box Collider,但是这时我们右键attach是找不到drag object的我们需要在add comp ...
- JS中 [] == ![]结果为true,而 {} == !{}却为false
为什么? 先转换再比较 (==) 仅比较而不转换 (===) ==转换规则? ==比较运算符会先转换操作数(强制转换),然后再进行比较 ①如果有一个操作数是布尔值,则在比较相等性之前 ...