Codeforces Round 939 (Div. 2) A~E

LM Studio中文版零基础入门:从安装到模型下载的保姆级教程(附国内镜像源配置) 本文提供LM Studio中文版的零基础入门教程,涵盖从软件安装、中文界面切换到国内镜像源配置的全流程。特别针对模型下载速度慢的问题,详细介绍了如何通过修改配置文件使用国内镜像站,并推荐适合新手的入门模型及硬件配置建议,帮助用户快速上手本地大模型运行。 阅读详情

A.Nene’s Game(循环)

题意:

妮妮发明了一种基于递增序列a1,a2,…,aka_1,a_2,\ldots,a_ka1​,a2​,…,ak​的新游戏。

在这个游戏中,最初nnn个玩家排成一排。在这个游戏的每一轮中,都会发生以下情况:

  • 妮妮发现第a1a_1a1​、a2a_2a2​、…\ldots…、aka_kak​的玩家排成一排。他们会同时被踢出游戏。如果一排中的iii个玩家应该被踢出游戏,但是一排中的玩家少于iii个,那么他们就会被跳过。

一旦在某一轮游戏中没有人被踢出游戏,那么所有仍在游戏中的玩家都将被宣布为赢家。

例如,考虑有a=[3,5]a=[3,5]a=[3,5]名棋手和n=5n=5n=5名棋手的游戏。让棋手按最初排好的顺序依次命名为棋手AAA、棋手BBB、…\ldots…、棋手EEE。那么

  • 在第一轮比赛之前,棋手的排列顺序为ABCDEABCDEABCDE。妮妮发现第333和第555的球员在一排。他们在第一轮就被踢出局了。
  • 现在棋手们排成ABDABDABD。妮妮找到了第333和第555的棋手。第333位棋手是棋手DDD,而且一排中没有第555位棋手。因此,第二轮只有棋手DDD被踢出局。
  • 在第三轮中,没有人被踢出游戏,所以游戏在这一轮后结束。
  • 宣布玩家AAA和BBB获胜。

妮妮还没有决定最初会有多少人参加游戏。妮妮给了你qqq个整数n1,n2,…,nqn_1,n_2,\ldots,n_qn1​,n2​,…,nq​ ,你应该针对每个 1≤i≤q1\le i\le q1≤i≤q 独立回答下面的问题:

  • 如果最初有nin_ini​个玩家参加游戏,有多少人会获胜?

分析:

不断循环,如果要删除的位置小于等于剩余的个数,就可以删去该数。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;
const LL N = 105;
int a[N];
int k, q;

int main() {
    int t;
    cin >> t;
    while (t--) {
        cin >> k >> q;
        for (int i = 1; i <= k; i++)
            cin >> a[i];
        while (q--) {
            int n;
            cin >> n;
            while (true) {
                int cnt = 0;
                for (int i = 1; i <= k; i++) {
                    if (n >= a[i])
                        cnt++;
                }
                if (cnt == 0)
                    break;
                n -= cnt;
            }
            cout << n << ' ';
        }
        cout << endl;
    }
    return 0;
}

B.Nene and the Card Game(思维)

题意:

你和妮妮正在玩纸牌游戏。玩这个游戏使用一副有2n2n2n张牌的扑克牌。每张牌上都有一个从111到nnn的整数,而111到nnn的整数正好出现在222张牌上。此外,游戏中还有一张放置纸牌的桌子(最初桌子是空的)。

在游戏开始时,这些2n2n2n张牌会在你和妮妮之间分配,这样每个玩家都会得到nnn张牌。

之后,你和妮妮轮流进行2n2n2n次回合,即从你开始,每人轮流nnn个回合,每个回合

  • 轮到的玩家从手中的牌中选择一张。让xxx成为上面的数字。
  • 如果桌面上已经有一张整数为xxx的牌,则轮到他的玩家会得到111点数(否则,他不会得到任何点数)。之后,他将选中的整数为xxx的牌放在桌上。

请注意,回合是公开进行的:每个玩家在每个时刻都能看到桌面上的所有牌。

妮妮非常聪明,所以她总是以最佳方式选牌,以便在游戏结束时(2n2n2n轮之后)最大化自己的分数。如果她有几种最佳走法,她会选择在游戏结束时使你的得分最小的走法。

更正式地说,妮妮总是以最佳方式轮流下棋,以便在对局结束时首先使她的得分最大化,其次使你在对局结束时的得分最小化。

假设纸牌已经分发完毕,而你手中的纸牌上写有整数a1,a2,…,ana_1,a_2,\ldots,a_na1​,a2​,…,an​,那么你以最优方式轮流出牌所能得到的最大分数是多少?

分析:

最优策略显然是先出自己手上同个点数有两张的牌,如果对方出了双方都有的点数的牌,跟着出。

这样考虑,最优会变成我们先出手上同个点数有两张的牌,对方也这么出,由于这种牌的个数双方是相同的,轮到我们出牌,对方跟着出相同点数。

最后得分是同个点数有两张的个数。

代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        vector<int> a(n);
        for (int i = 0; i < n; i++) {
            int x;
            cin >> x;
            x--;
            a[x]++;
        }
        int ans = 0;
        for (int i = 0; i < n; i++) {
            if (a[i] == 2)
                ans++;
        }
        cout << ans << endl;
    }
    return 0;
}

C.Nene’s Magical Matrix(构造)

题意:

魔法少女妮妮有一个n×nn\times nn×n矩阵aaa,矩阵中充满了零。矩阵aaa第iii行的第jjj个元素表示为ai,ja_{i,j}ai,j​。

她可以对这个矩阵进行以下两种类型的运算:

  • 类型111操作:在111和nnn之间选择一个整数iii以及从111到nnn的整数排列p1,p2,…,pnp_1,p_2,\ldots,p_np1​,p2​,…,pn​。同时为所有1≤j≤n1\le j\le n1≤j≤n指定ai,j:=pja_{i,j}:=p_jai,j​:=pj​。
  • 类型222操作:在111和nnn之间选择一个整数iii,并从111到nnn之间选择一个整数的排列p1,p2,…,pnp_1,p_2,\ldots,p_np1​,p2​,…,pn​。同时为所有1≤j≤n1\le j\le n1≤j≤n指定aj,i:=pja_{j,i}:=p_jaj,i​:=pj​。

妮妮想要最大化矩阵∑i=1n∑j=1nai,j\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}a_{i,j}i=1∑n​j=1∑n​ai,j​中所有数字的和。她要求你找出使这个和最大化的运算方法。由于她不希望进行过多的运算,你应提供一个运算次数不超过2n2n2n的解决方案。

长度为nnn的排列是由nnn个不同的整数组成的数组,这些整数从111到nnn按任意顺序排列。例如,[2,3,1,5,4][2,3,1,5,4][2,3,1,5,4]是一个排列,但[1,2,2][1,2,2][1,2,2]不是一个排列(222在数组中出现了两次),[1,3,4][1,3,4][1,3,4]也不是一个排列(n=3n=3n=3,但数组中有444)。

分析:

手推一下n=3n=3n=3的例子,不难发现最大总和的情况是是依次给iii行、列赋值1,2,3,…,n1,2,3,\dots,n1,2,3,…,n。这一结论可以通过归纳法证明。
然后按照结论构造矩阵即可。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        LL s = 0;
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n; j++) {
                s += max(i, j);
            }
        }
        cout << s << ' ' << 2 * n << endl;
        for (int i = n; i >= 1; i--) {
            cout << 1 << ' ' << i;
            for (int j = 1; j <= n; j++) {
                cout << ' ' << j;
            }
            cout << endl;
            cout << 2 << ' ' << i;
            for (int j = 1; j <= n; j++) {
                cout << ' ' << j;
            }
            cout << endl;
        }
    }
    return 0;
}

D.Nene and the Mex Operator(状压)

题意:

妮妮给了你一个长度为nnn的整数数组a1,a2,…,ana_1,a_2,\ldots,a_na1​,a2​,…,an​。

你可以执行以下操作不超过5⋅1055\cdot 10^55⋅105次(可能为零):

  • 选择lll和rrr这样的两个整数1≤l≤r≤n1\le l\le r\le n1≤l≤r≤n,计算xxx为MEX⁡({al,al+1,…,ar})\operatorname{MEX}(\{a_l,a_{l+1},\ldots,a_r\})MEX({al​,al+1​,…,ar​}),同时设置al:=x,al+1:=x,…,ar:=xa_l:=x,a_{l+1}:=x,\ldots,a_r:=xal​:=x,al+1​:=x,…,ar​:=x。

这里,整数集合{c1,c2,…,ck}\{c_1,c_2,\ldots,c_k\}{c1​,c2​,…,ck​}中的MEX⁡\operatorname{MEX}MEX被定义为在集合ccc中不出现的最小非负整数mmm。

你的目标是最大化数组aaa中元素的和。找出最大和,并构建一个操作序列来实现这个和。需要注意的是,你不需要最小化这个序列中的操作次数,你只需要在解决方案中使用不超过5⋅1055\cdot 10^55⋅105的操作。

分析:

对于一段[l,r][l,r][l,r],我们要么不变,要么可以通过操作把[l,r][l,r][l,r]段内的a[i]a[i]a[i]全部变成r−l+1r-l+1r−l+1。

可以先把[l,r][l,r][l,r]全部变成000,再把[l,r][l,r][l,r]变成l−r,l−r−1,l−r−2…0{l-r,l-r-1,l-r-2\dots 0}l−r,l−r−1,l−r−2…0,使用区间[l,r][l,r][l,r],最后一步变成r−l+1r-l+1r−l+1。

l−rl-rl−r可以构造l−r−1,l−r−2,…0{l-r-1,l-r-2,\dots 0}l−r−1,l−r−2,…0,使用区间[l,r−1][l,r-1][l,r−1],先变成r−l+1r-l+1r−l+1,再将[l+1,r−1][l+1,r-1][l+1,r−1]归零。

使用DPDPDP标记路径即可。

代码:

#include<bits/stdc++.h>

typedef long long LL;
using namespace std;
const LL mod = 1000000007;
vector<int> a;
vector<pair<int, int>> ans;

void deal(int l, int r) {
    set<int> s(a.begin() + l, a.begin() + r + 1);
    LL mex = 0;
    while (s.count(mex))
        mex += 1;
    for (int i = l; i <= r; i++) {
        a[i] = mex;
    }
    ans.push_back({l, r});
}

void solve(int l, int r) {
    if (l == r) {
        if (a[r] != 0) {
            deal(l, r);
        }
        return;
    }
    int len = r - l + 1;
    int target = len - 1;
    if (a[l] != target) {
        if (a[l] > target)
            deal(l, l);
        solve(l + 1, r);
        deal(l, r);
    }
    solve(l + 1, r);
}

int main() {
    int n;
    cin >> n;
    a.resize(n + 1);
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    int dp[20]{}, pre[20]{};
    for (int i = 1; i <= n; i++) {
        for (int j = 0; j < i; j++) {
            int len = i - j;
            if (dp[j] + len * len > dp[i]) {
                dp[i] = dp[j] + len * len;
                pre[i] = j;
            }
        }
        if (dp[i - 1] + a[i] > dp[i]) {
            dp[i] = dp[i - 1] + a[i];
            pre[i] = i - 1;
        }
    }
    int pos = n;
    while (pos != 0) {
        int l = pre[pos] + 1;
        if (l != pos || a[l] == 0) {
            solve(l, pos);
            deal(l, pos);
        }
        pos = pre[pos];
    }
    cout << dp[n] << ' ' << ans.size() << endl;
    for (auto [l, r]: ans) {
        cout << l << ' ' << r << endl;
    }
    return 0;
}

E.Nene vs. Monsters(思维)

题意:

妮妮正在与位于一个圆圈中的nnn个怪物战斗。这些怪物的编号从111到nnn,第iii(1≤i≤n1\le i\le n1≤i≤n)个怪物当前的能量水平是aia_iai​。

由于怪物太强大,妮妮决定使用 "攻击你的邻居"法术与它们战斗。当妮妮使用这个咒语时,以下行动会按以下顺序逐一发生:

  • 第111个怪物攻击第222个怪物;
  • 第222只怪物攻击第333只怪物;
  • …\ldots…
  • 第(n−1)(n-1)(n−1)只怪物攻击第nnn只怪物
  • 第nnn只怪物攻击第111只怪物

当能量等级为xxx的怪物攻击能量等级为yyy的怪物时,防守怪物的能量等级变为max⁡(0,y−x)\max(0,y-x)max(0,y−x)(攻击怪物的能量等级仍然等于xxx)。

妮妮会使用这个咒语1010010^{100}10100次,并对付那些自己的能量值仍然不为零的怪物。她想让你确定,一旦她使用所述咒语1010010^{100}10100次,哪些怪物的能量值将不会为零。

分析:

如果连续三个怪物的能量值都是0,x,y(x,y>0)0,x,y (x,y\gt 0)0,x,y(x,y>0),那么能量值为yyy的怪物将最后"死亡"(能量值为000)。

如果连续四只怪物的能量等级为x,y,z,w(x,y,z,w>0)x,y,z,w (x,y,z,w\gt 0)x,y,z,w(x,y,z,w>0),并且它们在ttt轮法术后没有死亡,那么yyy将受到至少ttt点伤害,zzz将受到至少(t−1)+(t−2)+⋯=O(t2)(t-1)+(t-2)+\cdots=O(t^2)(t−1)+(t−2)+⋯=O(t2)点伤害,www将受到至少O(t3)O(t^3)O(t3)点伤害。

也就是说,让V=max⁡i=1naiV=\max_{i=1}^n a_iV=maxi=1n​ai​,在O(V3)O(\sqrt[3]{V})O(3V​)个回合后,x,y,z,wx,y,z,wx,y,z,w中至少会有一人死亡。

因此,我们可以暴力模拟这个过程,直到没有四个连续存活的怪物为止。

如果连续四个怪物的能量值都是0,x,y,z(x,y,z>0)0,x,y,z (x,y,z\gt 0)0,x,y,z(x,y,z>0),xxx将继续存活,yyy将最后死亡,并在此之前向zzz造成D=(y−x)+(y−2x)+⋯+(y mod x)D=(y-x)+(y-2x)+\cdots+(y\bmod x)D=(y−x)+(y−2x)+⋯+(ymodx)伤害。因此,只有在z>Dz\gt Dz>D的情况下,zzz才会存活。

Tips:事实上,我们可以证明在O(Vk)O(\sqrt[k]{V})O(kV​)个回合之后,不会有kkk个连续存活的怪物。让kkk比333大,可以进一步降低时间复杂度,但实施和优化的难度会更大,对实际性能影响不大。

代码:

#include<bits/stdc++.h>

using namespace std;
typedef long long LL;
const int MAXN = 2e5 + 5;
int n, a[MAXN];
bool b[MAXN];

bool check() {
    a[n + 1] = a[1], a[n + 2] = a[2], a[n + 3] = a[3];
    for (int i = 1; i <= n; i++)
        if (a[i] && a[i + 1] && a[i + 2] && a[i + 3])
            return true;
    return false;
}

void solve() {
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    if (n == 2) {
        while (a[1] && a[2]) {
            a[2] = max(0, a[2] - a[1]);
            a[1] = max(0, a[1] - a[2]);
        }
        b[1] = (a[1] > 0);
        b[2] = (a[2] > 0);
    } else if (n == 3) {
        while (a[1] && a[2] && a[3]) {
            a[2] = max(0, a[2] - a[1]);
            a[3] = max(0, a[3] - a[2]);
            a[1] = max(0, a[1] - a[3]);
        }
        b[1] = (!a[3] && a[1]);
        b[2] = (!a[1] && a[2]);
        b[3] = (!a[2] && a[3]);
    } else {
        while (check()) {
            for (int i = 1; i <= n; i++)
                a[i % n + 1] = max(0, a[i % n + 1] - a[i]);
        }
        for (int i = 1; i <= n; i++)
            b[i] = false;
        auto attack = [&](LL x, LL y) {
            LL k = x / y;
            return (2 * x - (k + 1) * y) * k / 2;
        };
        for (int p = 1; p <= n; p++)
            if (a[p] && a[p % n + 1])
                a[p % n + 1] = max(0, a[p % n + 1] - a[p]);
            else
                break;
        for (int i = 1; i <= n; i++)
            if (!a[i] && a[i % n + 1]) {
                b[i % n + 1] = true;
                b[(i + 2) % n + 1] = (a[(i + 2) % n + 1] > attack(a[(i + 1) % n + 1], a[i % n + 1]));
            }
    }
    int cnt = 0;
    for (int i = 0; i <= n; i++)
        if (b[i])
            cnt++;
    cout << cnt << endl;
    for (int i = 1; i <= n; i++)
        if (b[i])
            cout << i << ' ';
    cout << endl;
}

int main() {
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

赛后交流

在比赛结束后,会在交流群中给出比赛题解,同学们可以在赛后查看题解进行补题。

群号: 704572101,赛后大家可以一起交流做题思路,分享做题技巧,欢迎大家的加入。

uniapp(全端兼容) - 最新详细实现pdf在线预览功能,uniapp内置预览PDF文件功能,uniapp在安卓app|苹果app|h5网页网站|微信小程序中打开pdf进行在线预览(详细示例源码) uni-app,安卓Android,苹果ios,App端,H5网页,移动端网站,微信小程序,支付宝小程序,nvue,vue,pdf文档,pdf文件,office,uniapp 预览pdf,uniapp怎么做pdf预览,uniapp如何实现全平台兼容的pdf在线预览,uniapp怎么在h5打开pdf文档,实现PDF在线预览,H5移动端文件预览pdf,文件下载和预览,uniapp App端pdf文件预览,app移动端在线预览pdf文件,无法预览pdf怎么办,有没有预览pdf的插件,根本打不开咋办,uniapp使 阅读详情

相关推荐

用Navicat轻松管理魔兽世界私服数据库:修改IP、添加装备的实用技巧

本文详细介绍了如何使用Navicat管理魔兽世界私服数据库,包括修改服务器IP、添加自定义装备和调整角色属性等实用技巧。通过专业的SQL操作指南,帮助玩家轻松实现私服的高级定制,提升游戏体验。

fanta的博客 938

Codeforces Round 939 (Div. 2)

a[k]这些位置的数(如果该位置有数的话),问最终剩下几个数,共有q次询问,每次询问都是独立的,每次询问初始个数n不同,但是要删除的位置a[1]~a[k]都是不变的)->这是一个样例,一共有t个样例。既然双方都是最优策略,那么肯定会避免对方在我方这里得分,而且双方的棋子在某种意义上可以说是对称的,所以要想得分,只能得到自己拥有两个的数字的分数。一开始用vector的erase删除数,一次要删好几个位置,删除迭代器的话,删除一个之后所有位置都变化了,会出大问题。

m0_74087709的博客 982

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, MBD) 的开源自驾仪,可被用来快速构建无人机,无人车,无人船,机器人等平台的控制系统。 系统主要由两部分构成. FMT-Firmware: 一个基于C/C++开发的稳定、高性能的嵌入式系统. FMT-Model: 一个基于MATLAB/Simulink开发的仿真框架以及算法库. 昨天得知FMT开源飞控项目已经开

weixin_45786595的博客 2872

Codeforces Round 939 (Div. 2)(A,B,C,D,E1,E2)

Codeforces Round 939 (Div. 2)(A,B,C,D,E1,E2)

qq_45809243的博客 1902

2025小红书跳转卡片实战指南:从零搭建独立后台与自动化发卡系统

本文提供了一份2025年小红书跳转卡片的实战搭建指南,详细解析了独立后台系统的核心架构与自动化发卡流程。文章从零开始,手把手教你使用Node.js、Vue.js等技术栈构建包含后台管理、用户制卡中心与前端交互的完整系统,旨在帮助运营者实现合规引流,并掌握数据自主权与自动化运营能力。

weixin_29234423的博客 517

同花顺自动化交易避坑指南:pywinauto实战中验证码识别与界面弹窗处理

本文深入探讨同花顺自动化交易中的关键稳定性问题,重点解决验证码识别与弹窗处理两大难题。通过优化Tesseract OCR、整合打码平台API以及设计pywinauto弹窗监控体系,提供了一套完整的自动化交易解决方案,帮助交易者有效规避资金账户和持仓信息操作中的常见陷阱。

weixin_33734785的博客 486

TowardsDataScience 博客中文翻译 2020(九百八十四)

作者通过Imgflip生成的图片图片由作者通过Imgflip生成softmax 函数是一个激活函数,它将真实值转化为概率。在一个正常的学年,此时此刻,我可能正坐在离家两个小时的咖啡店里,读着我计算机编程课前的讲座。或者,此时此刻,我可能正在上课,试图跟上我的教授对精确方程的解释。随着世界各地的学校关闭,像我这样的学生只能靠自己来对抗拖延症。一场可悲的斗争,一场我显然不会赢的斗争。在过去的几周里,尽管我的大学有大量的在线工作,但我已经决定这是学习我所能学习的关于深度学习的一切的最佳时间。

龙哥盟 4236

Spring Boot 实现多图片上传并回显,涨姿势了~

上传 Controller的代码非常简单,由于用了SpringMVC框架,所以直接用MultipartFile来接即可。由于是多图片上传所以用数组来接。此处应该注意参数名应该和<input>中的name值相对应: @RequestMapping("/pic") @ResponseBody publicResponseEntity<String>pic(MultipartFile[]pictures)throwsException{ ResponseEnti...

weixin_54556126的博客 893

Nene and the Card Game(Round 939)

【代码】Nene and the Card Game(Round 939)

GordrnGhost的博客 445

第六节 旅烨cms实战练习 -2021.03.11

第六节 旅烨cms实战练习 -2021.03.11 前期使用win10里小皮搭建旅烨cms,以为自己的各项配置有问题,但是小皮能够正常带动DVWA,始终带动不了旅烨cms。 后来与其他安全人员交流,发现win7可以正常运行旅烨cms。 所以目前为何出现问题尚不清楚 1.环境搭建 win7+小皮 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nOSTEFUw-1615475228402)(C:\Users\LuXian\AppData\Roaming\Typora\typora

lyx3429的博客 572

ZYNQ出现问题及解决办法汇总(一直更新)

问题目录使用软件及开发板版本一,vitis在build project时卡住。二,Could not find FPGA device on the board for connection 'Local'三,FPGA configuration failed:DONE PIN is not high四,Could not find ARM device on the board for connection 'Local' 使用软件及开发板版本 开发板:MZ7XA-7020 软件:vitis2020.2(

qq_45057368的博客 1万+

Codeforces Round 939

Codeforces Round 939

青少年趣味编程 816

AI技术在电商中的实际应用

人工智能、电商、推荐系统、个性化、机器学习、深度学习 1. 背景介绍 电子商务行业近年来发展迅速,用户数量不断增长,商品种类日益丰富。然而,随着市场竞争的加剧,电商平台面临着如何提升用户体验、提高转化率、挖掘潜在商机等一系列挑战。人工智能(AI)技术作为一种新兴技术,凭借其强大的数

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1740

Codeforces Round 939 (Div. 2)(A-D)

补题,很早之前的

Vcoistnt的博客 387

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Codeforces Round 933

Codeforces Round 933

青少年趣味编程 1381

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Codeforces Round 971

Codeforces Round 971

青少年趣味编程 1514

Codeforces Round 967

Codeforces Round 967

青少年趣味编程 1004

Codeforces Round 945

Codeforces Round 945

青少年趣味编程 1064

Codeforces Round 948

Codeforces Round 948

青少年趣味编程 908

Codeforces Round 960

Codeforces Round 960

青少年趣味编程 705

Codeforces Round 950

Codeforces Round 950

青少年趣味编程 966

Codeforces Round 963

Codeforces Round 963

青少年趣味编程 696

Codeforces Round 952

Codeforces Round 952

青少年趣味编程 655

【CF】Day61——Codeforces Round 939 (Div. 2) CD (思维构造 | 思维构造 + dfs枚举)

所以我这里定义一个递归函数 operation,其作用是储存一个区间构造成 0 1 2 3 ... len 的操作步骤,那么按照上面说的,我们就要先operation(l, r - 1),然后再 改变 l ~ r,然后再 operation(l,r - 1),如果 l == r,那么说明是 0,那我们就跳过即可。答案是显然可以的,我们来看看如何构造,我们可以从后往前构造,即我们先填最后一列和最后一行,然后再填倒数第二列和倒数第二行,以此类推,最后刚好 2*n 次。假设 n = 3,我们考虑能否构造出。

qq_61422664的博客 370

每日一题 第九十二期 Codeforces Round 939 (Div. 2)

【代码】每日一题 第九十二期 Codeforces Round 939 (Div. 2)

2301_80882026的博客 1185

Codeforces Round 939 (Div. 2)D. Nene and the Mex Operator 状压 ,难搞的递归

推荐阅读。

JK01WYX的博客 748
上一篇: AtCoder Beginner Contest 349 A~F
下一篇: Educational Codeforces Round 164 (Div. 2) A~E
AC-Panda
博客等级 码龄5年 1736粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值