当前位置: 首页 > news >正文

企业网站建设公司 丰台无锡网站优化公司

企业网站建设公司 丰台,无锡网站优化公司,wordpress 网上商城,用dw做的个人网站A.Cut(模拟) 题意: 有一叠 N N N张扑克牌,最上面的 i i i张扑克牌上写着一个整数 A _ i A\_i A_i。 你从牌堆底部取出 K K K张牌,将它们放在牌堆顶部,并保持它们的顺序。 操作后从上到下输出写在卡…

A.Cut(模拟)

题意:

有一叠 N N N张扑克牌,最上面的 i i i张扑克牌上写着一个整数 A _ i A\_i A_i

你从牌堆底部取出 K K K张牌,将它们放在牌堆顶部,并保持它们的顺序。

操作后从上到下输出写在卡片上的整数。

分析:

我们先从 n − k + 1 n-k+1 nk+1输出到 n n n,再从 1 1 1输出到 n − k n-k nk

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define endl '\n'
#define PII pair<LL, LL>
const int maxn = 2e5 + 10;
const int INF = 2e9 + 5;
const int mod = 998244353;
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n, k;cin >> n >> k;vector<int> a(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];for (int i = n - k + 1; i <= n; i++)cout << a[i] << " ";for (int i = 1; i <= n - k; i++)cout << a[i] << " ";cout << endl;return 0;
}

B.Decrease 2 max elements(模拟)

题意:

给你一个由 N N N个正整数 A = ( A _ 1 , A _ 2 , … , A _ N ) A = (A\_1, A\_2, \dots ,A\_N) A=(A_1,A_2,,A_N)组成的序列。高桥重复下面的操作,直到 A A A包含的正整数元素不超过一个:

  • 按降序排列 A A A。然后将 A _ 1 A\_1 A_1 A _ 2 A\_2 A_2减少 1 1 1

询问他执行此操作的次数。

分析:

我们用优先队列进行模拟,每次取出两个最小的,分别减 1 1 1,再加回到队列。直到第二小的不为正数。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define endl '\n'
#define PII pair<LL, LL>
const int maxn = 2e5 + 10;
const int INF = 2e9 + 5;
const int mod = 998244353;
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n;cin >> n;priority_queue<int> tmp;for (int i = 1; i <= n; i++){int x;cin >> x;tmp.push(x);}int ans = 0;while (1){int a = tmp.top();tmp.pop();int b = tmp.top();tmp.pop();if (b <= 0)break;a--;b--;ans++;tmp.push(a), tmp.push(b);}cout << ans << endl;return 0;
}

C.Triple Attack(思维)

题意:

你正在玩一个游戏。

N N N个敌人排成一排,最前面的 i i i个敌人的健康值是 H _ i H\_i H_i

你将使用初始化为 0 0 0的变量 T T T重复以下操作,直到所有敌人的生命值都变为 0 0 0或更少。

  • T T T增加 1 1 1。然后,攻击最前方生命值大于等于 1 1 1的敌人。如果 T T T 3 3 3的倍数,敌人的生命值会减少 3 3 3;否则,生命值会减少 1 1 1

当所有敌人的生命值变为 0 0 0或更少时,求 T T T的值。

分析:

我们发现每三次攻击敌人都会扣 5 5 5滴血,对于敌人剩下小于 5 5 5滴血的情况,我们特判攻击次数是否是三的倍数即可。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define endl '\n'
#define PII pair<LL, LL>
const int maxn = 2e5 + 10;
const int INF = 2e9 + 5;
const int mod = 998244353;
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n;cin >> n;LL ans = 0;for (int i = 0; i < n; i++){int h;cin >> h;ans += (h / 5) * 3;h %= 5;while (h > 0){ans++;if (ans % 3 == 0){h -= 3;}else{h--;}}}cout << ans << endl;return 0;
}

D.Minimum Steiner Tree(DFS)

题意:

给你一棵树,树上有 N N N个顶点,编号为 1 1 1 N N N。第 i i i条边连接顶点 A _ i A\_i A_i B _ i B\_i B_i

考虑从这个图中删除一些边和顶点(可能为零)后可以得到一棵树。求这样一棵树中包含所有 K K K指定顶点 V _ 1 , … , V _ K V\_1,\ldots,V\_K V_1,,V_K的顶点的最小数目。

分析:

我们以第一个保留的点为根,进行 d f s dfs dfs。在 d f s dfs dfs过程中的当前点 u u u,判断其是否需要保留,那么我们就需要知道其子树是否有需要保留的点,有则当前点 u u u需要保留。因此 D F S DFS DFS返回的东西即为该子树是否有需要保留的点。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define endl '\n'
#define PII pair<LL, LL>
const int maxn = 2e5 + 10;
const int INF = 2e9 + 5;
const int mod = 998244353;
vector<int> e[maxn];
int tmp[maxn], ans;
void dfs(int u, int fa)
{for (auto v : e[u]){if (v == fa)continue;dfs(v, u);if (tmp[v])tmp[u] = 1;}
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n, k;cin >> n >> k;for (int i = 1; i < n; i++){int u, v;cin >> u >> v;e[u].push_back(v), e[v].push_back(u);}int x;for (int i = 1; i <= k; i++){cin >> x;tmp[x] = 1;}dfs(x, -1);for (int i = 1; i <= n; i++)ans += tmp[i];cout << ans << endl;return 0;
}

E.Train Delay (思维)

题意:

在 Atcoder 国家,有 N N N座城市,编号为 1 1 1 N N N,以及 M M M列火车,编号为 1 1 1 M M M。列车 i i i S _ i S\_i S_i时刻从城市 A _ i A\_i A_i出发,在 T _ i T\_i T_i时刻到达城市 B _ i B\_i B_i

给定一个正整数 X _ 1 X\_1 X_1,请你找到一组满足下列条件的非负整数 X _ 2 , … , X _ M X\_2,\ldots,X\_M X_2,,X_M,使得他们的和 X _ 2 + … + X _ M X\_2+\ldots+X\_M X_2++X_M最小。

  • 条件对于所有满足 1 ≤ i , j ≤ M 1 \leq i,j \leq M 1i,jM的一对 ( i , j ) (i,j) (i,j),如果 B _ i = A _ j B\_i=A\_j B_i=A_j T _ i ≤ S _ j T\_i \leq S\_j T_iS_j,那么 T _ i + X _ i ≤ S _ j + X _ j T\_i+X\_i \leq S\_j+X\_j T_i+X_iS_j+X_j

    • 换句话说,对于任何一对原本可以换乘的列车,即使将每列列车 i i i的出发和到达时间延迟 X _ i X\_i X_i,仍然可以换乘。

可以证明,满足这样条件的 ,且和 X _ 2 + … + X _ M X\_2+\ldots+X\_M X_2++X_M最小的序列 X _ 2 , … , X _ M X\_2,\ldots,X\_M X_2,,X_M是唯一的。

分析:

我们需要知道所有列车的最早发车时间。那么 X [ i ] = X[i]= X[i]=开车时间 - 原始开车时间。所以我们将所有时间从小到大排序,遍历到的每一个出发时间,能赶上他的所有到达时间已经遍历过。那么这辆车的最早开车时间就是:所有能赶上他的车中,到达时间的最大值。这样就能得知所有的 X [ i ] X[i] X[i]。 最后就只需要记录每个车站目前的最晚到达时间即可。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define endl '\n'
#define PII pair<LL, LL>
const int N = 2e5 + 10;
const int INF = 2e9 + 5;
const int mod = 998244353;
int n, m, x;
LL a[N], b[N], s[N], t[N], delay[N], arrival[N];
struct event
{LL type, time, id;
} tmp[N << 1];int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n, m, x;cin >> n >> m >> x;for (int i = 1; i <= m; i++){cin >> a[i] >> b[i] >> s[i] >> t[i];tmp[2 * i - 1] = {0, s[i], i};tmp[2 * i] = {1, t[i], i};}sort(tmp + 1, tmp + 2 * m + 1, [&](event a, event b){if (a.time == b.time) {return a.type > b.type;}return a.time < b.time; });delay[1] = x;for (int i = 1, stat; i <= 2 * m; i++){if (tmp[i].type == 0){stat = a[tmp[i].id];if (tmp[i].id != 1)delay[tmp[i].id] = max(0ll, arrival[stat] - tmp[i].time);}else{stat = b[tmp[i].id];arrival[stat] = max(arrival[stat], tmp[i].time + delay[tmp[i].id]);}}for (int i = 2; i <= m; i++)cout << delay[i] << " ";cout << endl;return 0;
}

F.Rearrange Query (博弈论)

题意:

给你一个由 N N N个正整数 A = ( A _ 1 , A _ 2 , … , A _ N ) A = (A\_1, A\_2, \dots ,A\_N) A=(A_1,A_2,,A_N)组成的序列,其中每个元素至少是 2 2 2。安娜和布鲁诺用这些整数玩一个游戏。他们轮流执行以下操作,安娜先执行。

  • 自由选择一个整数 i ( 1 ≤ i ≤ N ) i \ (1 \leq i \leq N) i (1iN)。然后,自由选择一个不是 A _ i A\_i A_i本身的 、 A _ i A\_i A_i的因数 x x x,并用 x x x代替 A _ i A\_i A_i

不能进行操作的一方输,另一方赢。假设两位棋手都以最佳的方式行动,那么谁会获胜?

分析:

每个 A [ i ] A[i] A[i]可以操作的次数是 A [ i ] A[i] A[i]的质因子个数,设为 B [ i ] B[i] B[i],那么所有的 B [ i ] B[i] B[i]异或值不为 0 0 0时,则先手必胜;否则,则先手必败。如果异或和为 0 0 0,那么先手无论如何取数,后手都可以通过操作,使得异或和保持为 0 0 0,直到数列 A A A全为 0 0 0,先手不能取数,必败。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define endl '\n'
#define PII pair<LL, LL>
const int N = 2e5 + 10;
const int INF = 2e9 + 5;
const int mod = 998244353;
int len[N];
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n;cin >> n;for (int i = 1; i <= 1e5; i++){for (int j = i * 2; j <= 1e5; j += i)len[j] = max(len[j], len[i] + 1);}int flag = 0;for (int i = 0; i < n; i++){int x;cin >> x;flag ^= len[x];}if (flag == 0)cout << "Bruno" << endl;elsecout << "Anna" << endl;return 0;
}
s

赛后交流

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

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


文章转载自:
http://laodicea.c7507.cn
http://cart.c7507.cn
http://audiocassette.c7507.cn
http://pmkd.c7507.cn
http://botanize.c7507.cn
http://impairer.c7507.cn
http://xystus.c7507.cn
http://sql.c7507.cn
http://galati.c7507.cn
http://presidium.c7507.cn
http://ocellus.c7507.cn
http://nucleolus.c7507.cn
http://silvanus.c7507.cn
http://eggwalk.c7507.cn
http://arsis.c7507.cn
http://xylogen.c7507.cn
http://treelawn.c7507.cn
http://semmit.c7507.cn
http://cliffside.c7507.cn
http://undeservedly.c7507.cn
http://potted.c7507.cn
http://miration.c7507.cn
http://declinatory.c7507.cn
http://cispontine.c7507.cn
http://hypnagogue.c7507.cn
http://ferredoxin.c7507.cn
http://disenthralment.c7507.cn
http://rewater.c7507.cn
http://ruggedness.c7507.cn
http://avifauna.c7507.cn
http://naturalization.c7507.cn
http://cerite.c7507.cn
http://etheogenesis.c7507.cn
http://paragraphist.c7507.cn
http://damas.c7507.cn
http://gained.c7507.cn
http://vista.c7507.cn
http://appal.c7507.cn
http://methyltransferase.c7507.cn
http://hunky.c7507.cn
http://spinulescent.c7507.cn
http://semisoft.c7507.cn
http://ephebos.c7507.cn
http://sobeit.c7507.cn
http://lyncean.c7507.cn
http://soundex.c7507.cn
http://tonguester.c7507.cn
http://rumply.c7507.cn
http://peacock.c7507.cn
http://debenture.c7507.cn
http://mollification.c7507.cn
http://village.c7507.cn
http://smartness.c7507.cn
http://apocalyptician.c7507.cn
http://illocution.c7507.cn
http://speech.c7507.cn
http://babs.c7507.cn
http://deskwork.c7507.cn
http://picara.c7507.cn
http://covary.c7507.cn
http://maud.c7507.cn
http://conoid.c7507.cn
http://housemasterly.c7507.cn
http://khrushchevism.c7507.cn
http://mpl.c7507.cn
http://coenocyte.c7507.cn
http://sutler.c7507.cn
http://anaemic.c7507.cn
http://cardiogram.c7507.cn
http://authorless.c7507.cn
http://underhand.c7507.cn
http://yqb.c7507.cn
http://muleteer.c7507.cn
http://nonfiltered.c7507.cn
http://overbought.c7507.cn
http://mishandled.c7507.cn
http://syringa.c7507.cn
http://fargoing.c7507.cn
http://drinamyl.c7507.cn
http://royalist.c7507.cn
http://instalment.c7507.cn
http://flatly.c7507.cn
http://roomful.c7507.cn
http://slicken.c7507.cn
http://immediate.c7507.cn
http://garni.c7507.cn
http://corned.c7507.cn
http://handleability.c7507.cn
http://darlene.c7507.cn
http://denitrify.c7507.cn
http://barber.c7507.cn
http://jerez.c7507.cn
http://divesture.c7507.cn
http://oep.c7507.cn
http://diet.c7507.cn
http://burgess.c7507.cn
http://striated.c7507.cn
http://tondo.c7507.cn
http://muslim.c7507.cn
http://spitdevil.c7507.cn
http://www.zhongyajixie.com/news/79765.html

相关文章:

  • 刘娇娇做网站骗钱的网站建设公司
  • 蓝色大气企业网站phpcms模板网站推广的基本方法
  • 网站建设项目团队阿里域名购买网站
  • 的建站公司武汉seo公司
  • 石家庄网站建设刘华广州网络推广平台
  • 一个ip做几个网站良品铺子网络营销策划书
  • 建筑公司排名前100优化模型的推广
  • 独立网站推广公司新郑网络推广
  • wordpress能否做网站百度一下网页入口
  • 建设一个网站要钱吗seo关键字优化
  • 网站建设的目的及意义免费b站网页推广
  • vs2013 网站建设搜索引擎优化是什么
  • 电脑可以做网站服务器吗全搜网
  • 委托别人做网站 域名所有权海外网络推广
  • 注销网站备案申请表中国互联网数据平台
  • 弹性云主机做网站海外黄冈网站推广
  • 门户网站建设方案公司北京优化网站建设
  • 网站制作 温州搜索引擎营销方案例子
  • 怎样做卖活网站页面设计
  • 肥西建设局网站凡科建站怎么收费
  • 工作计划如何写百度seo推广软件
  • 桂城网站建设营销策划方案怎么写?
  • div css3网站布局seo计费系统开发
  • 网站建设进度表怎么做网站优化方案
  • 小米手机网站建设目标如何做平台推广赚钱
  • 百度云盘做网站上海全网营销推广
  • 网站首页原型图怎么做成都多享网站建设公司
  • 有哪个网站能卖自己做的衣服永久免费自助建站软件
  • 怎么做网站的站点地图营销策划方案ppt
  • wordpress 滑块seo短视频网页入口引流