首页 > 其他分享 >201907月赛 - 问题 H: 乾坤大挪移

201907月赛 - 问题 H: 乾坤大挪移

时间:2023-12-04 21:11:20浏览次数:26  
标签:月赛 ch 挪移 void char 201907 template scanf define

初步思考:记忆化搜索,但是复杂度好像有点高。

生成树的数据:

 

#include <bits/stdc++.h>

using namespace std;
#define pb push_back
#define fi first
#define se second
#define debug(x) cerr << #x << " := " << x << endl;
#define bug cerr << "-----------------------" << endl;
#define FOR(a, b, c) for (int a = b; a <= c; ++a)

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<pii, int> PII;

template <class T>
void _R(T &x) {
    cin >> x;
}
void _R(int &x) {
    scanf("%d", &x);
}
void _R(ll &x) {
    scanf("%lld", &x);
}
void _R(double &x) {
    scanf("%lf", &x);
}
void _R(char &x) {
    scanf(" %c", &x);
}
void _R(char *x) {
    scanf("%s", x);
}
void R() {
}
template <class T, class... U>
void R(T &head, U &... tail) {
    _R(head);
    R(tail...);
}

template <typename T>
inline T read(T &x) {
    x = 0;
    int f = 0;
    char ch = getchar();
    while (ch < '0' || ch > '9') f |= (ch == '-'), ch = getchar();
    while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
    return x = f ? -x : x;
}

const ll inf = 0x3f3f3f3f3f3f3f3f;

const int mod = 1e9 + 7;

/**********showtime************/
const int maxn = 309;
int roots[maxn], a[maxn], b[maxn], c[maxn], X[maxn];
int u[maxn], v[maxn];
int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= m; i++) R(roots[i]);
    for (int i = 1; i <= m; i++) R(a[i]);
    for (int i = 1; i <= m; i++) R(b[i]);
    for (int i = 1; i <= m; i++) R(c[i]);

    for (int i = 1; i <= m; i++) {
        X[0] = c[i];
        for (int k = 1; k <= n - 2; k++)
            X[k] = (a[i] * X[k - 1] + b[i]) % 1000000007;
        cout << "-----------" << i << "---------------" << endl;
        for (int j = 0; j <= n - 2; j++) {
            u[j] = (roots[i] + j + 1) % n;
            v[j] = (roots[i] + (X[j] % (j + 1))) % n;
            ///                连接 T(i) 的 u[j] 与 v[j]之间的边
            cout << u[j] << " " << v[j] << endl;
        }
    }

    return 0;
}
View Code

 

标签:月赛,ch,挪移,void,char,201907,template,scanf,define
From: https://www.cnblogs.com/ckxkexing/p/11160069.html

相关文章

  • ITA 十月月赛答案(纯C大一友好版)
    \(ITA\)十月月赛答案(纯C大一友好版)作者:胡鑫\(A\)数字矩阵(语法签到题)#include<stdio.h>inta[15][15];intmain(){intn,k=1,x=1,y=0;scanf("%d",&n);while(k<=n*n){while(y<n&&!a[x][y+1])a[x]......
  • 牛客小白月赛81
    牛客小白月赛81A.小辰打比赛解题思路:遍历找到小于\(x\)的数累加即可。代码:#include<bits/stdc++.h>usingnamespacestd;voidsolve(){ intn,x; intans=0; cin>>n>>x; for(inti=1;i<=n;i++) { intk=0; cin>>k; if(k<x) { ans......
  • 牛客小白月赛81 F 小辰刚学gcd
    LInk首先我们可以注意到,两个数的gcd要不是它们当中较小的那一个要不是它本身。所以对于一个特定的\(r\),\(gcd_{i=p}^r,1<=p<=r\)来说,答案不会超过32种。并且因为gcd的性质,答案一定是成块且递减的。所以我们可以直接记录下对于每一个\(r\),答案都有哪些,从哪里开始出现。并......
  • 牛客小白月赛81
    牛客小白月赛81A.小辰打比赛#include<bits/stdc++.h>usingnamespacestd;intmain(){intn,x,y,sum;cin>>n>>x;sum=0;for(inti=1;i<=n;++i){cin>>y;if(y<x)sum+=y......
  • 牛客小白月赛80C/D又放学辣
    C这么小的数据范围,想必胡搞就可以了。#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;intn,m,k;structcll{intp;intid;}cl[105];intx;intans[205];boolcmp(cllx,clly){returnx.p......
  • YACS 2023年10月月赛 甲组 题解
    目前只有T2,其他题目我在看。题目链接1题目链接2题目链接3T2很简单的一道题,将图分为若干个连通块,然后分别求最小生成树。从货车运输中得到的结论,最小生成树等价于最小边权上限生成树,也就是它也能够保证选出边中最大的边权最小。而题目中明确说了这个最小生成树的权值是其中......
  • 牛客小白月赛79 C题
    牛客小白月赛79C-mex和gcd的乘积C思路:靠,当时想到了怎么就是没有想出来呢,对于这个序列来说0就是一个突破点,我们只需要看看0出现的位置就可以了。区间mex=0时,ans=0区间mex=1时,看gcd的大小,此时仅看0左右元素即可区间mex>1时,gcd=1,看mex即可,仔细想想看整个数组的mex即......
  • 牛客小白月赛79
    牛客小白月赛79A.数位dp?解题思路:如果开始就是偶数,那么直接不用变化。如果开始不是偶数,那么个位数位上的数字一定不是偶数。换句话讲,只有个位数位上为偶数时,该数字才是偶数。所以,一直闪末尾数位,直到该数位为偶数或者删完为止。代码:#include<bits/stdc++.h>usingnamesp......
  • YACS 2023年9月月赛 甲组 题解
    题目链接1题目链接2题目链接3榜单终于公布了,这应该是第二长的榜单公布吧。(最长的一次是去年八月,拖到九月开始后才公布) T1是傻逼数据结构不说了吧,对于每个点枚举以他为角的$k\timesk$的四个正方形算一下点的数量,用$cdq$或者扫描线都行。看这个题目编号是$81$,看来是很......
  • 牛客小白月赛78-C第K小表示数
    题意给定k和一个集合初始只包含a,b,每次可以选择一个数乘2或者选择两个数相加然后将结果放入集合中,问所有可能的集合中第k小值最小值。思路从小到大贪心,每次将该值加a和加b,当集合的大小枚举到2k时说明指针已经枚举到第k个。代码#include<bits/stdc++.h>#defineintlonglon......