首页 > 其他分享 >牛客小白月赛64 C题 题解

牛客小白月赛64 C题 题解

时间:2023-01-01 16:57:33浏览次数:53  
标签:... 题解 复杂度 牛客 循环 64 一列

题目链接

题意描述

这一题的意思其实就是,让你构造一个\(n * k\)的矩阵,使得第 i 列的总和为 i ,同时使得:每一列的任意两个数之间的差不大于1,且任意两行之间的总和差不大于1。

\(1 \le n * k \le 10^6\)

观察样例:

输入:

5 5

输出:

 0 0 1 1 1
 0 0 1 1 1
 1 0 1 0 1
 0 1 0 1 1
 0 1 0 1 1

可以发现一个规律,可能这样不太好看出来,但是如果是这样就很清楚了。

 1 0 1 0 1
 0 1 0 1 1
 0 1 0 1 1
 0 0 1 1 1
 0 0 1 1 1
 1...1...
   1...
   1...
     1 ...
     1 ...

也就是每一列,从当前位置从上往下循环加一,当达到这一列的总数时,跳到下一列,而下一列的起始位置就是上一列加一。

但是,如果我们直接暴力模拟加的过程,肯定是会超时的,因为这样的时间复杂度是总共的个数\(\frac{n (n + 1)}{2}\),也就是\(O(n^2)\)的,这样显然会超时。

我们想对于第 i 列,循环去加,实际上每个数是加了\(\lfloor \frac{i}{k} \rfloor\)循环次,剩下不能凑成整循环的\(i \mod k\)个,再加上 1 ,这样每个数的结果就可以直接算出,不需要模拟去加了。

时间复杂度\(O(n·k)\)

标签:...,题解,复杂度,牛客,循环,64,一列
From: https://www.cnblogs.com/six-one/p/17018253.html

相关文章

  • CCNUACM寒假培训第二周周赛部分题解(ACF)
    A题大意:给出n个数,每次可以选择任意一个数进行加一操作,可执行k次,求最大值可能的最大最小值考虑最大值最大,即所有操作都对初始n个数中的最大值进行,答案即max(a1,.....,an)+......
  • [POI2007]GRZ-Ridges and Valleys 题解
    (2022-12-28)AcWing1106洛谷P3456题目大意找出一个图中所有大于(或小于)周围相邻的非连通块点的所有连通块个数。就是说,对于一个连通块:如果它周围的点都低于它,那么山......
  • [USACO22DEC] Cow College B 题解
    洛谷P8897AcWing4821题目描述有\(n\)头奶牛,每头奶牛愿意交的最大学费位\(c_i\),问如何设置学费,可以使赚到的钱最多。\(1\len\le10^5,1\lec_i\le10^6\)做法分析......
  • 武汉工程大学第五届程序设计新生赛 I题 题解
    (2022,12,3)原题链接(来自牛客竞赛)抽象题意题目有点长,我们需要抽象出一个模型:一个长度为\(n\)的序列\(a_i\),从\(a_1\)开始向后跳,每次可以从\(a_i\)跳到下一位\(a_{i+1}\),......
  • cmd输入java -version显示could not open `E:\Java\jre\lib\amd64\jvm.cfg'错误
    cmd输入java-version显示couldnotopen`E:\Java\jre\lib\amd64\jvm.cfg'错误方法参照:文献参考每个人出现这种情况,无非两种,一种是环境变量没有配置正确,另一种是......
  • 洛谷P4146 序列终结者 题解 splay tree
    题目链接:​​https://www.luogu.com.cn/problem/P4146​​题目大意:支持:区间更新(+x)区间翻转区间查询(最大值)解题思路:几乎和​​AcWing2437.Splay​​这题一模一样。示例程......
  • CF1770D Koxia and Game 题解
    47min时过C降智50min做不出D。果然晚上容易降智。题意不想复述,好长。linktoCF|linktoLuogu合理猜测留给后手的两个数字必须相等。证明为若不相等,则后手可以......
  • 洛谷 P2395 BBCode转换Markdown 题解
    洛谷P2395BBCode转换Markdown题解题目传送门:here.一道毒瘤的大模拟,给了你一部分的BBCode和Markdown语法,叫你转换。如下表:BBCodeMarkdown[h1]文字[/h1......
  • 免杀——凯撒+RC4+Base64分离免杀
    Shellcode生成器:buf是CS生成的Shellcode#include"Caesar.h"#include"Base64.h"#include"RC4.h"intmain(){ unsignedcharbuf[]="" unsignedchar......
  • Codeforces Good Bye 2022 CF 1770 A~E 题解
    题目链接A.KoxiaandWhiteboards注意每一步替换操作都是强制的,而不是可选的。所以就用一个multiset维护所有的数,每次选一个最小的替换掉即可。时间复杂度\(O(nlogn)\)......