Snake Matrix 模拟 数学规律

在处理大规模 Snake Matrix 问题时,由于空间限制无法使用大数组。通过观察规律,可以发现 N*N 左上角的值 K 的递增模式为 k2=k1+4N-4。通过函数 f(n,i,k) 描述起始值为 k 的矩阵第 i 行的和,可以递归计算每一行,避免空间不足的问题。" 105890885,7562046,移动端滚动插件:Better-Scroll详解,"['javascript', '前端开发', '滚动库']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

显然 当N开到2*10^5,不可能有那么大的数组给你放,空间肯定不够

那么显然就是一道找规律的题了

类似的题做的多了,就知道窍门了 虽然还是花了30+分钟 但思路很清晰

设K为N*N的左上角的值,显然K的递增规律为 k2=k1+4N-4

f(n,i,k)表示对起始值为k的N*N方阵,第i行的和为...

那么就很清晰了...

           k .......................k+n-1

           ...............................

第i行:4n-3-(i-1)........k+n+i-2

           ..................................

           k+3n-3...................k+2n-2

类似的 递归计算即可

import java.util.Scanner;
public class Main{
	static long ans[] ;
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long k = 1;
		ans = new long[n+1];
		for (int i = 1; i < ans.leng
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值