首页 > 其他分享 >CodeForces

CodeForces

时间:2024-10-29 13:10:31浏览次数:5  
标签:11 曼哈顿 CodeForces 即可 66 forall

CodeForces 做题记录

Codeforces Global Round 27

A Sliding

当 \((r, c)\) 被取走时:

  • \(\forall i \in [r + 1, n], (i, 1)\) 会移动到 \([i - 1, m]\),曼哈顿距离为 \(m\)。
  • \(\forall i \in [r + 1, n], j \in [2, m], (i, j)\) 会移动到 \((i, j - 1)\),曼哈顿距离为 \(1\)。
  • \(\forall i \in [c + 1, m], (r, i)\) 会移动到 \((r, i - 1)\),曼哈顿距离为 \(1\)。

统计起来即可,答案为 \((m - 1) * (n - r) + (n - r) * m + (m - c)\)。

代码

A题写的也太慢了……
该推快一些的。

B Everyone Loves Tres

有一个数学结论:一个用十进制表示的数,如果其奇数位的和与偶数位的和的差的绝对值为 \(11\) 的倍数,那么这个数为 \(11\) 的倍数。

那么构造 \(n\) 位的最小的 \(11\) 的倍数,再乘上 \(3\) 即可,很显然 \(n = 1\),或 \(n = 3\) 时不可能成立。

又因为 \(2 \mid 66\),所以最后两位应该为 \(66\)。

如果 \(2 \mid n\),容易发现只需要最后两位为 \(66\) 其他均为 \(33\) 即可,此时满足数学结论。

否则,因为奇数位比偶数位多一位,所以可以用两位 \(3\) 合成一个 \(6\)。那么只需最后四位为 \(6366\),其他均为 \(3\) 即可。

代码

很显然的题目,但是 \(14\) 分钟才写出来。而且还不知道有数学结论。

D Yet Another Real Number Problem

思路很显然。

考虑前 \(i\) 位时,一定会把前 \(i\) 项 \(2\) 的次幂和给到一些数,记第 \(k\) 个被给 \(2\) 的数的下标为 \(g_k\)。

记一个区间 \([i, j]\),\(2\) 的次幂的和为 \(t(i, j)\)。

对于当前考虑的 \(a_i\),如果将 \(a_i \times 2^{(g_k + 1, i - 1)} \gt a[g_k]\),那么令 \(g_k = i\) 即可。

又因为 \(a_i \le 1\times 10^9\),故 \(g_{k} - g_{k - 1} \lt 30\),否则直接合并即可。

重复执行上述操作,直到不满足为止。

因为会不断删去前面的 \(g\),最多跳 \(30\) 次,故从左向右执行上述操作的时间复杂度大概为 \(O(n\log a_i)\)。

发现删去 \(g\) 类似维护单调性,故可以用单调栈维护。

代码

没有想到用单调栈是真做的少了……

标签:11,曼哈顿,CodeForces,即可,66,forall
From: https://www.cnblogs.com/FRZ29/p/18512802

相关文章

  • Educational Codeforces Round 171 (Rated for Div. 2)题解记录
    比赛链接:https://codeforces.com/contest/2026A.PerpendicularSegments题目说了必定有答案,直接对角线即可#include<iostream>#include<queue>#include<map>#include<set>#include<vector>#include<algorithm>#include<deque>#include<......
  • Educational Codeforces Round 171 (Rated for Div. 2)
    目录写在前面A签到B暴力C反悔贪心D枚举,分块,推式子E网络流,最大权闭合子图F写在最后写在前面比赛地址:https://codeforces.com/contest/2026。因为太困了决定睡大觉,于是赛时unratedregister只写了DE。然而十一点半上床还是失眠到一点半睡的太搞了呃呃A签到B暴力限......
  • Educational Codeforces Round 171 (Rated for Div. 2)
    A.PerpendicularSegments分析题目中的要求\(34\),说明需要较短的线段尽量长,那么两个线段应该一样长而又要求线段垂直,那么两线段可以放在一个正方形内做对角线那么此时\(x\)和\(y\)对称(代数一样上),取两个的较小值做一个正方形,答案即为对角线#include<bits/stdc++.h>usin......
  • Codeforces Round 982 (Div. 2) 10.26 (ABC)题解
    CodeforcesRound982(Div.2)10.26(ABC)题解A.RectangleArrangement数学(math)题意:有一个无限长宽的方形网格,初始为白色,现在有\(n\)个印章,每个印章有自己的宽\(w_i\)和高\(h_i\)。印章会使得网格涂色,变成黑色。这\(n\)个印章都需要使用一次,需要求解出最后网格中黑色......
  • Codeforces Round 982 (Div. 2) 题解(A-D)
    目录A思路codeB思路codeC思路卡题原因codeD思路未ac原因codeCodeforcesRound982(Div.2)A思路因为图形可以重叠,所以答案就是最长的长和最长的宽组成的矩形周长.codevoidfunc(void){ intn; cin>>n; intl=0,r=0; while(n--) { intx,y; cin>>x>>y......
  • Codeforces Round 982 (Div. 2)
    A.RectangleArrangement题目给定\(n\)个矩形,\(n\)个矩形可以组成的图形(可以重叠)中,最小的周长的多少,矩形不能旋转,分析乍一看并没有什么思路,但是写出这个题并不能,案例很好的提示了我们要将所有矩形一角放一起,那么最后就会组成一个阶梯形状的图案,感觉割补法,这个图形周长等......
  • Codeforces Round 981 (Div. 3) 题解(A-E)
    目录分析A思路代码B思路卡题原因代码C思路卡题原因codeD思路卡题原因代码E思路wa原因codeCodeforcesRound981(Div.3)分析这场整体发挥都不好,虽然题也抽象,但是对于这些题完全没必要卡这么久.正常至少能看到\(\mathbf{F}\)A思路因为边界\(n\)管辖\(\pm\),而Sak......
  • Codeforces Round 980 (Div. 2) 题解(A-D)
    目录A思路B思路wa原因C思路wa原因代码D思路未ac原因代码CodeforcesRound980(Div.2)A思路推方程式即可,勉强算贪心吧.需要使得\({a-x}\)最小,那么\(x\)就需要最小,而满足题目条件,需要\(a-x\geb-2x\)得出\(x\geb-a\),又因为需要\(a\)最大,所以\(......
  • Codeforces Round 982 div2 个人题解(A~D2)
    CodeforcesRound982div2个人题解(A~D2)Dashboard-CodeforcesRound982(Div.2)-Codeforces火车头#define_CRT_SECURE_NO_WARNINGS1#include<algorithm>#include<array>#include<bitset>#include<cmath>#include<cstdio>#in......
  • Codeforces Round 980 (Div. 2)
    目录写在前面A签到B贪心,模拟C贪心,结论,思维D图论转化,最短路写在最后写在前面比赛地址:https://codeforces.com/contest/2030。赛时被B硬控1h,后面两题一眼秒了一共写了20min呃呃。还好是小号。A签到讨论一下很容易算出来最优决策。///*By:Luckyblock*/#include......