小红的构造题(构造)

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小红的构造题(构造)相关的知识,希望对你有一定的参考价值。

小红的构造题(构造)

考虑 r e d a 1 r e d d 2 … r e d d k red^a_1red^d_2\\dots red^d_k reda1redd2reddk

k k k r e re re后加 a k a_k ak d d d

那么贡献就是: a k + 2 a k + 3 a k ⋯ + k a k = a k k ( k + 1 ) 2 a_k+2a_k+3a_k\\dots +ka_k=\\dfraca_kk(k+1)2 ak+2ak+3ak+kak=2akk(k+1)

假设 a i = 1 a_i=1 ai=1

那么至少要用 ∑ i = 1 k i ( i + 1 ) 2 ≥ n \\sum _i=1^k\\dfraci(i+1)2\\ge n i=1k2i(i+1)n

找到这个 k k k

这个求和式子化简:

k ( k + 1 ) ( k + 3 ) 6 ≥ n \\dfrack(k+1)(k+3)6\\ge n 6k(k+1)(k+3)n

k k k O ( n 1 3 ) ≤ 2 e 5 O(n^\\dfrac13)\\le 2e5 O(n31)2e5

然后倒着一边除算 a i a_i ai,一般对 n n n取余即可。

// Problem: 小红的构造题
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/11251/D
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
// Date: 2022-08-11 14:21:12
// --------by Herio--------

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull; 
const int N=2e5+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
const int hashmod[4] = 402653189,805306457,1610612741,998244353;
#define mst(a,b) memset(a,b,sizeof a)
#define db double
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define x first
#define y second
#define pb emplace_back
#define sz(a) (int)a.size()
#define all(a) a.begin(),a.end()
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define ios ios::sync_with_stdio(false),cin.tie(nullptr) 
void Print(int *a,int n)
	for(int i=1;i<n;i++)
		printf("%d ",a[i]);
	printf("%d\\n",a[n]); 

template <typename T>		//x=max(x,y)  x=min(x,y)
void cmx(T &x,T y)
	if(x<y) x=y;

template <typename T>
void cmn(T &x,T y)
	if(x>y) x=y;

int a[N];
ll f(ll i)
	return i*(i+1)>>1;

int main()
	ll n;cin>>n;
	ll i;
	if(!n) return puts("d"),0;
	for(i=1;i*(i+1)*(i+3)/6<=n;i++);
	i--;
	for(int x=i;x;x--)
		a[x] = n/f(x);
		n%=f(x);
	
	rep(x,1,i)
		cout<<"re";
		while(a[x]--)cout<<"d";
	
	return 0;


以上是关于小红的构造题(构造)的主要内容,如果未能解决你的问题,请参考以下文章

小红的真真假假签到题题(构造+思维)

CF359B Permutation (构造)

构造法

P4240 毒瘤之神的考验

类(对象)的定义 自定义对象构造函数

[BZOJ2406]矩阵