- 2024-04-29生成带重复的笛卡尔乘积过程 Cartesian Product with Repetition
目录WhatisCartesianProductwithRepetitionCodeDemoWhatisCartesianProductwithRepetition比如说有两个集合:\(\{1,2,3\}\)\(\{A,B,C\}\)想把他们组合成所有可能组合,比如,1AAA1AAB1AAC...这种组合可以称为"有重复的笛卡尔积"或"带重复的笛卡尔乘积"(Carte
- 2024-03-14Array Repetition
原题链接题解设\(len_i\)为第\(i\)次操作后的数组长度,\(last_i\)为该数组的最后一个数字那么对于第一个\(len\)大于\(k\)的\(i\)而言\({A}_{i}[k]\toA_{i-1}[k_1]\)其中\(k_1=(k-1)\%len_{i-1}+1\)如果\(k\)等于此时的\(len_i\)那么输出\(last_i\)小
- 2024-01-22CF1920D. Array Repetition
思路用一个数组len记录每次操作后数组的长度,用一个数组lat记录每次操作后数组最后一个数字。对于每次询问,先二分查找出第几次操作能使数组的长度大于等于xac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=1e18;typedefpair<in
- 2024-01-19D. Array Repetition
D.ArrayRepetitionJaydenhasanarray$a$whichisinitiallyempty.Thereare$n$operationsoftwotypeshemustperforminthegivenorder.Jaydenappendsaninteger$x$($1\leqx\leqn$)totheendofarray$a$.Jaydenappends$x$copiesofarra
- 2024-01-17D. Array Repetition
原题链接核心大事实1:对于查询的点k对应的值一定是某个操作过后的最后一个值核心大事实2:对于操作前数组长度大于k的都不用考虑核心小事实:点k有两种情况1.点k的位置在两次操作之间(乘法)2.点k的位置恰好位于某次操作后的最后一个点(乘法和加法都有可能)代码构建以此展开1.要不断
- 2023-12-16[AGC020D] Min Max Repetition
牛子题优先满足第二个条件,长度是\(\lceil\frac{max(A,B)}{min(A,B)+1}\rceil\),那么现在要满足字典序最小,发现先填\(A..ABA..ABA..AB..\),中途可能\(B>>A\)就填不满,就要改变策略,变成\(B..BAB..BA...\)这样子的,但是注意可能\(B\)有余数,那我肯定优先把有余数个\(B\),这