6337. 统计桌面上的不同数字

代码

后面出现的数字都是小于 n 的。

n = 1 时,答案是 1。

n > 1时:

  • 第一天,n % (n - 1) == 1,n - 1会被加入
  • 第二天,(n - 1) % (n - 2) == 1,n - 2 被加入

递推,一直到 2 的时候,不会加入 1,因为任何数 mod 1 都是 0,且共 1e9 天来加入数字,远大于 100,一定可以把该加入的都加入,所以共有 (n - 1) 个数字

注意特判 n 为 1 的情况

class Solution {
public int distinctIntegers(int n) {
if (n == 1) return 1;
return n - 1;
}
}

6338. 猴子碰撞的方法数

代码

每个猴子都有两种移动的方向,那么总的情况数就是 2^n

求发生碰撞的数量,太多了,我们反过来求,求碰撞的数量

正难则反

查看案例,发现不发生碰撞的情况只有两种:同时顺时针 / 逆时针

所以题目转化为了求 pow(2, n) - 2 % MOD 的形式

直接采用快速幂即可,但是因为快速幂之后要 减二,会产生负数,所以我们 减2 之后加上 mod,再进行取模

(quick_power(2, n, MOD) - 2 + MOD) % MOD

题目有些歧义,说的是 移动后 位于同一顶点才算碰撞,但是样例给定的是移动中碰撞也算了。

例如当 n = 4 时上面两个左右交换,下面两个左右交换,也不冲突,但是样例没有算。

class Solution {
public int monkeyMove(int n) {
int MOD = 1000000007;
return (quick_power(2L, n, MOD) - 2 + MOD) % MOD;
} private static int quick_power(long a, long b, long p) {
long ans = 1;
while (b > 0) {
if ((b & 1) == 1) ans = ans * a % p;
a = a * a % p;
b >>= 1;
} return (int) ans;
}
}

6339. 将珠子放入背包中

代码

一眼 dp,再看数据量,太大了,二维dp会超时,换方法

题目:

将序列分成 k 段,===》 切 k - 1 次,有 k - 1 个分割点,求分割点左右元素之和

求出来所有的相邻元素和,排序,求最大的 k - 1个 和 最小的 k - 1个之差即可

特殊情况::子数组中,只有最左边的一个 / 最右边的一个

但是因为所有情况都要选择这两个值,而且求的是差值,就抵消了、

所以我们只看里面的元素即可

class Solution {
public long putMarbles(int[] w, int k) {
int[] s = new int[w.length - 1];
for (int i = 0; i + 1 < w.length; i++)
s[i] = w[i] + w[i + 1]; Arrays.sort(s); long a = 0, b = 0;
for (int i = 0; i < k - 1; i++) {
a += s[i];
b += s[s.length - i - 1];
} return Math.abs(a - b);
}
}

LeetCode_周赛_330的更多相关文章

  1. 周赛-KIDx's Pagination 分类: 比赛 2015-08-02 08:23 7人阅读 评论(0) 收藏

    KIDx's Pagination Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) S ...

  2. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  3. Leetcode 第133场周赛解题报告

    今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看 ...

  4. 牛客OI周赛9-提高组题目记录

    牛客OI周赛9-提高组题目记录 昨天晚上做了这一套比赛,觉得题目质量挺高,而且有一些非常有趣而且非常清奇的脑回路在里边,于是记录在此. T1: 扫雷 题目链接 设 \(f_i\) 表示扫到第 \(i\ ...

  5. codeforces 14A - Letter & codeforces 859B - Lazy Security Guard - [周赛水题]

    就像title说的,是昨天(2017/9/17)周赛的两道水题…… 题目链接:http://codeforces.com/problemset/problem/14/A time limit per ...

  6. 牛客OI周赛8-提高组A-用水填坑

    牛客OI周赛8-提高组A-用水填坑 题目 链接: https://ac.nowcoder.com/acm/contest/403/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制: ...

  7. 计蒜客 28449.算个欧拉函数给大家助助兴-大数的因子个数 (HDU5649.DZY Loves Sorting) ( ACM训练联盟周赛 G)

    ACM训练联盟周赛 这一场有几个数据结构的题,但是自己太菜,不会树套树,带插入的区间第K小-替罪羊套函数式线段树, 先立个flag,BZOJ3065: 带插入区间K小值 计蒜客 Zeratul与Xor ...

  8. 周赛Problem 1108: 蛋糕(二分)

    1108: 蛋糕 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 17  Solved: 4 Description 杨神打代码打得有点疲倦,于是他想要 ...

  9. CSDN 轻松周赛赛题:能否被8整除

    轻松周赛赛题:能否被8整除 题目详情 给定一个非负整数,问能否重排它的全部数字,使得重排后的数能被8整除. 输入格式: 多组数据,每组数据是一个非负整数.非负整数的位数不超过10000位. 输出格式 ...

  10. 计蒜客 ACM训练联盟周赛 第一场 Christina式方格取数 思维

    助手Christina发明了一种方格取数的新玩法:在n*m的方格棋盘里,每个格子里写一个数.两个人轮流给格子染色,直到所有格子都染了色.在所有格子染色完后,计算双方的分数.对于任意两个相邻(即有公共边 ...

随机推荐

  1. Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发

    一.标准CRUD使用 对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢? 我们先来看张图: 1.1 环境准备 这里用的环境就是Java开发学习(四十)----MyBa ...

  2. AArch32/AArch64系统级内存模型(三)

    1. 内存系统架构 1.1 系统级存储系统体系结构的形式   Armv8的a -profile体系结构包括一个虚拟内存系统体系结构(Virtual Memory System Architecture ...

  3. 【图像处理笔记】SIFT算法原理与源码分析

    [图像处理笔记]总目录 0 引言 特征提取就是从图像中提取显著并且具有可区分性和可匹配性的点结构.常见的点结构一般为图像内容中的角点.交叉点.闭合区域中心点等具有一定物理结构的点,而提取点结构的一般思 ...

  4. kettle 链接oracle12c

    jdbc连接cdb数据库时,url兼容以下2种模式: "jdbc:oracle:thin:@192.168.75.131:1521:oracle12c" "jdbc:or ...

  5. day27 CSS浮动、溢出 & js基本语法 & DOM文档流操作

    接day26CSS=>CSS定位 overflow属性 值 描述 示例 visible 默认值,内容不会被修剪,会呈现在元素框之外 hidden 内容会被修剪,并且其余内容是不可见的 overf ...

  6. C++动态链接MySQL库

    C++链接MySQL库 库安装目录 CMakeList cmake_minimum_required(VERSION 3.22) project(MySQLConnectionPool) includ ...

  7. [信息抽取]基于ERNIE3.0的多对多信息抽取算法:属性关系抽取

    [信息抽取]基于ERNIE3.0的多对多信息抽取算法:属性关系抽取 实体关系,实体属性抽取是信息抽取的关键任务:实体关系抽取是指从一段文本中抽取关系三元组,实体属性抽取是指从一段文本中抽取属性三元组: ...

  8. Windows Terminal ssh 远程 Linux 和使用 Git

    Windows Terminal ssh 远程 Linux 和使用 Git Windows Terminal (中文:终端)是 Win11 自带的 Terminal.可以添加配置文件,然后把远程主机放 ...

  9. 搭建漏洞环境及实战——搭建XSS测试平台

    XSS测试平台是测试XSS漏洞获取cookie并接收Web页面的平台,XSS可以做成JS能做的所有事,包括但不限于窃取cookie.后台增删文章.钓鱼.利用CSS漏洞进行传播.修改网页代码.网站重定向 ...

  10. 源码解读之TypeScript类型覆盖检测工具type-coverage

    因为团队内部开启了一个持续的前端代码质量改进计划,其中一个专项就是TS类型覆盖率,期间用到了type-coverage这个仓库,所以借这篇文章分享一下这个工具,并顺便从源码阅读的角度来分析一下该工具的 ...