给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小. 问题分析:首先判断传入数组arr是否为空,为空直接返回0,新建数组array,用来表示每一步走后的数字之和,接下来步骤见代码注释 public static int minPathSum(int[][] arr) {…
构造函数,是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载.写一个类,如果没有写任何的构造函数,那么这个类有一个默认的无参数的构造函数.如果写了构造函数,那么在这个类中就有两个构造函数,一个默认的,一个是自己写的,不过,自己写了构造函数,之前默认的那个构造函数就不能用了,如果还想用之前的那个默认的构造函数,就必须再重新写一个无参数…
public class person { public string name; } public class person { public string Name { set; get; } } 上面的两个类,第一个person存储的是name属性,由于是public属性,可以由其他类访问,第二个person的name属性通过了set.get进行了封装,get.set分别是可读可写.等价于如下代码 public class person { private string name; pub…
class Person//声明一个Person类 { //类中的声明与Main中不同,类中声明的是字段而不是函数. public string gender; public string name="Tom";//在类中只能给字段赋值一行代码 "); } class Program { static void Main(string[] args) { ; Person p1 = new Person();//定义Person类的对象p1 p1.gender = "…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 今天正睿又倒闭了,从删库到跑路. 天祺鸽鸽txdy! A "不要像个小学生一样一分钟就上来问东西."--蔡老板 虽然配图确实很有迷惑性. 所以读题不仔细,爆零两行泪. "这题也就NOIP第二题难度吧."--R爷 \(30pts:\) 显然的暴力,读懂题意之后\(O(w\times h)\)模拟即可. \(100pts:\) 每根短棍的效果在于交换相邻数.所以最后一定仍是个排列. 可以默认每个位置都要交…
2021.08.06 P4392 Sound静音问题(ST表) [P4392 BOI2007]Sound 静音问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 序列a,求a中子序列长度为m且子序列max-min<=cha的子序列起点. PS:st表容易MLE,只需要开logm的数组,而不是logn,而且不需要记录原数组: ​ 如果没有一个子序列满足条件,输出NONE!! 分析: 裸的ST表. 代码如下: #include<cstdio> #include&l…
2021.08.06 P2441 角色属性树(树形结构) P2441 角色属性树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 求离x最近的祖先y且(x,y)>1. 分析: 数据水,暴力能过.正解究竟是啥,很令人疑惑. 代码如下: #include<cstdio> #include<algorithm> #include<iostream> using namespace std; const int N=2e5+10; int n,m…
2021.08.06 P3478 STA-Station(树形结构) [P3478 POI2008]STA-Station - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 给定一个 nn 个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大. 一个结点的深度之定义为该节点到根的简单路径上边的数量. 分析: 设x的父节点为y,则根节点从y移到x: \[f[x]=f[y]-size[x]+(n-size[x]) \\ f[x]=f[y]+n-2*szie[…
题目: 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块最重的石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x == y,那么两块石头都会被完全粉碎:如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x.最后,最多只会剩下一块石头.返回此石头的重量.如果没有石头剩下,就返回 0. 提示: 1 <= stones.length <= 301 <= stones[i]…
有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出任意两块石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x == y,那么两块石头都会被完全粉碎: 如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x. 最后,最多只会剩下一块石头.返回此石头最小的可能重量.如果没有石头剩下,就返回 0. 示例: 输入:[2,7,4,1,8,1] 输出:1 解释: 组合 2 和 4,得到 2,所以数组转…