- 博客(18)
- 收藏
- 关注
原创 2021杭电多校(MINIEYE)第十场补题
1003 Pty loves lines解题思路最后一段连续的可行答案其实很长,记录一下对于每个iii来说最后一段连续的起始位置然后暴力转移.代码#include<bits/stdc++.h>#define ll long long#define MAXN 1001001#define MOD 998244353#define rep(i,s,t) for(int i=(s),i##end=(t);i<=i##end;++i)#define dwn(i,s,t) for(
2021-08-25 01:38:37 276
原创 杭电多校(MINIEYE)第九场_补题
1002 Just another board game解题思路应该算博弈论的题目了,和拿石子的那道题很像。(最开始还是没死心(懒得动脑子)想直接循环做,果不其然超时了······)已知回合数,且两个人都是选择最佳策略,那么我们要使得游戏的价值最大或最小,那不得不考虑最后一步是谁走,也就是回合数k的奇偶性。举例来说就是:假设K走最后一步(k为偶数)。当R走倒数第二步时的最佳策略就是,要使得棋子落在的那一列的最小值最大。分两种情况:k为偶数时,K走最后一步,R就要使K能取到的最小值最大,那么
2021-08-25 01:07:23 121
原创 2021杭电多校(MINIEYE)第八场补题
1006 GCD Game解题思路转化为NIMI博弈,可以参照Nim博弈 · ACM Book (gitbooks.io)因为每一次能从一个数转到任何一个质因数的位置,因此就相当于有n堆石子,每一堆石子的个数就是这个数的质因数的个数。因此先打表,将10710^7107之内的数的质因数的个数先表示出来,然后用到的时候直接查询即可。代码#include <bits/stdc++.h>using namespace std;const int MAXN=1e7+10;int prime
2021-08-25 00:53:45 149
原创 2021杭电多校(MINIEYE)第七场补题
1003 Fall with Trees解题思路设树层与层之间的高为h,根节点为第一层,第二层两个结点间的距离的一半为a,则第二层是2a,第三层是3a,第五层是(7/2)a,可以推出每一层的长度的通项公式为:(4-(1/2)k)*a,其中k=n-2,n为层数。但是对只有两层的情况要进行特判。其实我们可以发现面积就是三角形加上几个梯形的面积。因此写出梯形面积公式后求和即可,涉及到等比数列求和的部分直接使用求和公式即可。代码#include <bits/stdc++.h>using na
2021-08-25 00:18:32 142
原创 2021杭电多校(MINIEYE)第六场补题
1001 Yes, Prime Minister解题思路显然 r > 0*, r* ≥ l,如果 l ≤ 0,此时 [l, r] 区间和 = [[l + 1*, r*] 的区间和,且 r ≥ −**l + 1 > 0。故对于任意一个区间,都可以找到一个对应的 r ≥ l > 0 的区间与之对应,区间和相同。对于下式当 l > 0 时,若 r -l ≥ 2,则 (l+r)\2 和 (r-l+1)\2之中必有一个是大于 1 的整数。区间和必然能被拆分成两个因数的乘积。所以这
2021-08-13 20:40:37 141
原创 2021杭电多校(MINIEYE)第五场补题
1004 Anther String定义F[i,j]F[i,j]F[i,j]表示字符串SSS中分别以i,ji,ji,j为左端点的两个子串满足k-匹配的最大长度。换句话说,F[i,j]F[i,j]F[i,j]等于使得S[i,i+L−1]S[i,i+L-1]S[i,i+L−1]与S[j,j+L−1]S[j,j+L-1]S[j,j+L−1]满足k-匹配的最大LLL。考虑如何计算所有的F[i,j](1≤i<j≤n)F[i,j](1 \le i<j \le n)F[i,j](1≤i<j≤n)
2021-08-13 20:05:16 185
原创 杭电多校(MINIEYE)第四场 补题
1004 Display Substring题目问题描述当我们在LED屏幕上显示一个字符串时,显示不同的字符可能会有不同的能耗。给定一个长度为 n 的字符串 S,由小写英文字母和每个字母的能量消耗组成。假设一个字符串的能量消耗是它所有字符能量消耗的总和。请找出 S 的所有不同子串的第 k 个最小能量消耗。请注意,字符串 S 的子串是 S 的连续子序列。如果两个字符串 S 和 T 的长度不同,或者至少存在一个满足 S[i]≠T[i] 的位置 i,我们就说这两个字符串 S 和 T 不同。输入输入的第
2021-08-05 10:12:11 251
原创 杭电多校(MINIEYE)第三场 补题
1003 Forgiving Matching题目问题描述Alice和Bob正在玩游戏。在这个游戏中,二维平面上有 n 条直线。 Alice 将首先在所有 n 条直线中选择恰好 k 条直线 l1,l2,…,lk,然后 Bob 将画一条直线 L。 Bob 的惩罚定义为 {l1,l2,…, lk} 与 L 共享至少一个公共点。请注意,两条重叠的线也共享公共点。Alice 想要最大化 Bob 的惩罚,而 Bob 想要最小化它。你将得到这 n 行,请编写一个程序来预测 Bob 对 k=1,2,3,…,n
2021-08-05 10:11:13 198
原创 2021杭电多校(MINIEYE) 第二场 补题
1005 I love string题意给n个字符,依次添加进字符串。每次可以添加到当前串的首或者尾。要求最终串的字典序最小。求使得最终串字典序最小的添加方案数。n<=10^5解题思路先考虑字典序最小的字符,找出这些字符的第一次出现的位置,可以发现,这个第一次出现的位置之后的放置方式是唯一的。考虑剩下的部分,依旧是找字典序最小的字符。最终结果就是相同连续前缀的长度的2的次幂。代码#include<bits/stdc++.h>using namespace std;con
2021-07-27 21:04:22 309
原创 2021杭电多校(MINIEYE) 第一场 补题
1001 Mod, Or and Everything问题描述你需要给出一个整数n,需要计算(n mod 1) | (n mod 2) |… | (n mod (n - 1)) | (n mod n).其中“|”代表位运算或输入第一行包含整数T(1≤T≤5000)表示测试案例的数量。对于每个测试案例,都有一个整数n(1≤n≤ 1012 )在一行。输出对于每个测试案例,将答案打印在一行中。示例输入512345样本输出00113解题思路签到题。公式不太好打还是
2021-07-25 23:03:57 652
原创 面向对象——类的继承
类的继承概念父类方法重写super关键字final关键字概念在Java中,类的继承是指在一个现有类的基础上产生一个新的类,产生的新类被称为子类,现有类被称为父类,子类会自动拥有父类的属性和方法。定义一个类继承另一个类需要使用extends关键字。如果一个类没有使用extends关键字明确标识继承另一个类,则默认继承Object类。Object类是所有类的父类,该类的方法适用于所有子类,其类中的常用方法有toString()、hashCode()等。package Extends.Example;
2021-01-27 14:33:36 450
原创 面向对象——this 关键字
this 关键字this 关键字在程序中的三种常见用法。(1)当成员变量和局部变量重名,可以用关键字this区分(2)通过this关键字调用成员方法(3)通过this关键字在构造函数中调用其他构造函数this 关键字在程序中的三种常见用法。(1)当成员变量和局部变量重名,可以用关键字this区分通过this关键字可以明确地访问一个类的成员变量,解决与局部变量名称相同的问题。示例代码如下:public class Cat { String color; public Cat (String c
2021-01-25 21:00:10 194
原创 Java编程基础——String类和StringBuffer类
Java学习笔记——String类和StringBuffer类String类返回指定字符在此字符串中第一次出现处的索引返回指定子字符串在此字符串中第一次出现处的索引返回字符串中index位置上的字符,其中index的取值范围0~字符串长度-1判断此字符串是否以指定的字符串结尾返回此字符串的长度将此字符串与指定的字符串比较,如果相等则返回 true,否则返回 false当且仅当字符串长度为0时返回 true判断此字符串是否以指定的字符串开始判断此字符串中是否包含指定的字符序列使用默认语言环境的规则将 Stri
2021-01-23 19:59:46 405
原创 Java编程基础——方法、数组
文章目录一、方法1、方法的概念2、方法的重载二、数组1、定义2、常见操作3、Arrays工具类一、方法1、方法的概念2、方法的重载二、数组1、定义2、常见操作3、Arrays工具类
2021-01-23 19:34:40 153
原创 Java编程基础——结构语句
因为Java中的结构语句和C语言没有太大区别,就当成简单复习了。Java学习笔记——结构语句一、选择结构1、if条件语句if语句if···else语句if···else if···else语句2、switch条件语句二、循环结构1、while循环语句2、do···while循环语句3、for循环语句4、循环嵌套5、跳转语句一、选择结构1、if条件语句if语句if(判断条件){ 代码块} 判断条件为布尔值,当判断条件为true时,{ }中的执行语句才会被执行。if···else语句
2021-01-20 11:28:49 314
原创 南京邮电大学MOOC高级程序语言设计(C语言)
C语言期末复习(MOOC高级程序语言设计)计算并输出s的值题目内容:计算并输出s的值。s的计算方法见下式,其中m为实数,其值由键盘读入。计算时,要求最后一项的绝对值小于1e-4,输出结果保留两位小数。输入格式: 实数m,格式控制串为"%lf"输出格式: 式子的值,输出格式控制串为"%.2f\n"输入样例: 0.2输出样例: 0.18#include<stdio.h>#include<math.h>int main(){ double s, m,
2021-01-07 16:18:54 49982 11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人