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 ...
随机推荐
- Jmeter从数据库中读取数据
Jmeter从数据库中读取数据 1.测试计划中添加Mysql Jar包 2.添加线程组 3.添加 jdbc connection configuration 4.添加JDBC Request,从数据库 ...
- v-if指令
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- Altium Designer chapter6总结
绘制PCB中需要注意的如下: (1)网络表的载入:网络表是原理图与PCB之间的桥梁,而AD实现了真正的双向同步设计.在装入网表之前需要先添加相应的封装库. (2)元件的布局:一般采用手工布局:按照模块 ...
- poj2376Cleaning Shifts (贪心求解)
描述 大表哥分配 N (1 <= N <= 25,000) 只中的一些奶牛在牛棚附近做些清洁. 他总是要让至少一只牛做清洁.他把一天分成T段(1 <= T <= 1,000,0 ...
- Maven系列学习(一)Maven基本知识
Maven 简介 1.Maven主要是基于Java平台的项目构建,依赖管理和项目信息 2.Maven是优秀的构建工具,跨平台,消除构建的重复,抽象了一个完整的构建生命周期模型,标准化构建过程 3.管理 ...
- 实现自己的DiscoveryClient
需要做的: DiscoveryClient能提供那些服务的服务名列表 返回指定服务对于的ServiceInstance列表 返回DiscoveryClient的顺序 返回HealthIndicator ...
- 自己实现一个类似 jQuery 的函数库
假如我们有一个需求,需要给元素添加样式类,使用原生的JS很容易搞定. 1 抽取函数 function addClass(node, className){ node.classList.add(cla ...
- Java 8实战之读书笔记二:基础知识
好记性不如烂笔头,整理一些个人觉得比较重要的东西. 一.基础知识 第1章 为什么要关心Java 8 Java 8提供了一个新的API(称为"流", Stream),它支持许多处理数 ...
- 剑指offer学习--初级c++面试题
定义一个空的类型,里面没有任何成员函数和成员变量,对该类型求sizeof,得到的结果是多少? 答案是1.空类型中的实例中不包含任何信息,本来求sizeof应该是0,但是当我们声明该类型的实例的时候,他 ...
- php中的花括号使用详解
1.简单句法规则(用花括号界定变量名,适用于PHP所有版本,是php系统设定): $a = 'flower'; echo "She received some $as" ...