闲话 11.17(附『模拟赛』多校A层冲刺NOIP2024模拟赛23)

$settle\ into\ ash$

好大雷 EP,真的耐听。

The embers settle into ash
残火中 余温成灰
Refuse to bend, to break, look back
不屈 不折 不曾回眸往昔
It’s all decided in the moment we both choose to fight it
在那决断时刻 我们选择了抗争
You don’t need armies to take down
不需千军万马 一举便能
The monster underneath the crown
揭露王冠之下 那恶魔的面目
It’s just a one shot, stay locked
机会只有一次 保持专注
Cloak and dagger, what’s you’re after, but
夜影交锋中 你究竟在渴求什么
I’m not your hired gun
然而 我非你的手中的枪
Bullets to wars, and nothing’s won.
将子弹倾泻向战场 又未能赢得任何筹码
This might be your one chance, you can withdraw.
此刻 或许你已面临最后的退路
I’ll take all your deep cuts, I’ll take it all.
我愿承受你的伤痛 就由我来抚平一切
I am every mirror, you’re just a wall.
我是映照你的无数面镜 你却不过是一堵高墙
Even if I crack, you will watch yourself fall.
纵使我破碎 也要你亲眼见证自己的落败
All talk and never answers
言辞繁多 却永无定论
You spread your hate like cancer
你所散播的恨如恶疾般蔓延
Take your pick either path is reckless,
不论选择哪条路 都是一场盲目之旅
All talk and never answers
言辞繁多 却永无定论
All talk and never answers
言辞繁多 却永无定论
All talk and never answers
言辞繁多 却永无定论
It’s always consequences, on the fence is
每次选择皆有代价 而我
Not my best, it’s
不善于保持观望
Hard choice, to stand behind the
我难以去支持
One who knows to pull the trigger.
那手握杀机的人
Feeling it all fade fast,
感知一切渐行渐远之时
When you mistake broken glass for water.
你误将破碎镜面视作清泉倒影
This might be your one chance, you can withdraw
此刻 或许你已面临最后的退路
I’ll take all your deep cuts, I’ll take it all
我愿承受你的伤痛 就由我来抚平一切
I am every mirror, you’re just a wall
我是映照你的无数面镜 你却不过是一堵高墙
Even if I crack, you will watch yourself fall
纵使我破碎 也要你亲眼见证自己的落败
Coming to a hard stop, how does it feel
在命运急停之处 你感受如何?
Knowing no control here, is it surreal?
意识到一切脱离掌控 是否如梦境般虚幻?
All talk and never answers
言辞繁多 却永无定论
You spread your hate like cancer
你所散播的恨如恶疾般蔓延
Take your pick either path is reckless,
不论选择哪条路 都是一场盲目之旅
All talk and never answers
言辞繁多 却永无定论
All talk and never answers
言辞繁多 却永无定论
All talk and never answers
言辞繁多 却永无定论
Why does everybody keep talking?
为何世人总是喋喋不休?
I’m becoming one with the flaws of the war,
我已与战争的缺憾融为一体
Brittle to the bone
至骨脆弱
My marrow is filled with caution,
但骨髓中仍流淌着警觉
It’s often
早已习以为常
They lie to us just to make a profit.
他们以谎言蒙蔽我们的眼 图谋一己之私
Everybody lost it,
人心渐失
That’s why I’m making paths of my own.
因此我只得开辟自己的前路
The king falls then his men call for the throne
当王倒下 众人争夺王位
While the people that keep everybody breathing is grieving
而真正赋予我们生命的人 却深陷痛苦
So why should we attack?
我们为何还要争斗?
It all falls back
敌人卷土重来
Been down to fight
我们只得不断战斗
But what happens when the screen goes black
可当帷幕落下之时 我们又将何去何从?
I call upon the elements,
我呼唤我的战友
The weapons on my back
背起武器
While I run upon the sediment.
走过那伤痕累累的大地
No matter who comes in the way,
无论前方何人将我阻挡
You know I’ll settle it.
你深知 我会扫平所有阻碍
From armies to the mercenaries to the kings and queens or myself
从军队到佣兵 到君王 乃至我自己
Just because I’m level headed doesn’t mean I don’t need help
清醒的心 亦需援助与指引
So get up get up
那么 起身吧
Everybody need to move
所有人都当勇往直前
Just get up get up
起身吧
Everybody need to move
所有人都当勇往直前
Fight for a cause, and it
为了我们的理想而战
Don’t matter if you lose so
胜败不论
This might be your one chance, you can withdraw
此刻 或许你已面临最后的退路
I’ll take all your deep cuts, I’ll take it all
我愿承受你的伤痛 就由我来抚平一切
I am every mirror, you’re just a wall
我是映照你的无数面镜 你却不过是一堵高墙
Even if I crack, you will watch yourself fall
纵使我破碎 也要你亲眼见证自己的落败
Coming to a hard stop, how does it feel
在命运急停之处 你感受如何?
Knowing no control here, is it surreal?
意识到一切脱离掌控 是否如梦境般虚幻?
All talk and never answers
言辞繁多 却永无定论
You spread your hate like cancer
你所散播的恨如恶疾般蔓延
Take your pick either path is reckless,
不论选择哪条路 都是一场盲目之旅
All talk and never answers
言辞繁多 却永无定论
All talk and never answers
言辞繁多 却永无定论
All talk and never answers
言辞繁多 却永无定论
Get up get up everybody
那么 所有人 起身吧
Just get up get up everybody need to move
起身吧 所有人都当勇往直前

懒得新开一个了,模拟赛自行跳转


11.16

上午

上午由于高一放假早,所以被迫搬回了原来的机房,左边 HDK,右边丁真。

模拟赛。T1 是原,T2 一眼没思路,T3 感觉似曾相识,T4 看不懂。

然后果断打 T3,在 1h 左右写出第一版,然后发现过不去第一个大样例,特判一下交了。发现 T2 T4 根本做不下去,于是出去转了一圈想出了 T3 的优化写法,可以一遍 \(\mathcal{O(n)}\) 跑出所有段,然后插优先队列里就行了,发现过了所有大样例,直接交。

打了一圈发现 T2 T4 还是没思路,于是开拍,拍到 2000 多组突然寄了,检查发现是初版代码没判 0 导致的,虚惊一场继续拍。

然后打了 T2 的 20pts 暴力,研究了一下 T4 发现仍然看不懂,所以就打开系统监视器看着它拍,发现没拍 20000 组左右 vscode 稳定似一次,有点有意思。

当时大生态环境是:丁真一直摇头叹息,HDK 打完暴力就开始树上的男爵,Aqr 和大黄在【数据删除】。大家的状态都很好啊!

终于熬到结束,一看 Rank2,没挂分。

赛后丁真对 int_R:我以为 Ratio 在那一直拍是在给我上压力,结果还真过了。

huge 无缝衔接开始说一些注意事项,然后注意到 accoder 上 T3 被卡常到 37pts,有点急眼。

快速收拾东西,然后被告知只有家长能出去?被硬控 8min 左右才出去。

下午

上半主要活动是粥。

看了看测评,瑞平一下就是异拉三技能有点全图刮痧,狼头初始只能打 35% 攻击力,叠好久才有明显打击感。忍冬纸面数据好看,实战确实不耐用,模组拉胯,期待一手二模。

还是不想玩崩。思索了一下,玩游戏其实就是为了放松,那些奖励绑定感觉不能叫奖励应该叫报酬,我放松一下你还让我做一些没意思的任务 mjbd。

所以我选择打块😋😋😋开始用笔记本发现由于时间久了且东西太多导致卡的块落下都看不见,然后用我妈的办公笔记本结果只能连上移动的热点?最后好歹是打上了。

最好成绩是低于最高纪录 0.2s 左右。打了一会弹窗提示“Your friend 5k_sync_closer is online now”。

和初一同学一起吃饭,得知了我们找的代肝是同一个人。

开了一把肉鸽打二结局,美愿是真夸张,适配专武随便出,很难不胡,可惜没有酒杯。最后 ew 甚至顶着大特的减伤干了一条命,但是主角是维娜,一刀 17000 的真伤观感极佳。打完发现二结局已经打过镀层了(

本来不想熬夜的,忘了什么时候说了个唱会歌,然后就唱到了 11 点,没有理想的人不伤心以 92pts 的高分拿下本场榜首。

回去洗了个澡,看了会 b 站,发现了 5k 放的被喵喵 d 的那首像神一样呐。

11.17

上午

定的 8:08 的闹钟,日常早起 1h 在床上刷 b 站。

初三同学询问信奥什么时候联赛,得知她要退奥了但是 whk 让他等到跟我们一起。然后聊了会,得知 whk 与 jlh 有多 nt,以及一个 nt 男生的 nt 事。

开肉鸽,补一结局镀层,随心所欲黍开,美愿还是保送。最后由于想看看异拉实力唐氏操作险些翻车。

下午

尝试了一把自走棋,爆率有点低说实话,虽然早就满级了但是还是会刷出来 I II III 的干员,部署有点卡顿,以及真·人机操作,体验中上吧。

回去又开了一把块,直接破了原纪录 10s,赢!

返校后

时间有点紧,但好在 huge 让回去拿了一趟违禁品所以看不出来迟到多少。

开改昨天 T3,看看我常数怎么个事?

多校A层冲刺NOIP2024模拟赛23

Rank

小唐场,放假前根本做不下去

image

A. 字符串构造机

原,自行跳转

B. 忍者小队

仙姑。

C. 狗卡

第一眼可能会考虑 dp,简单思考后你会发现根本 dp 不了,而这道题的隐含条件是所有升级操作都能完成,所以考虑贪心。

先考虑 task1,由于后面升级需要时间一定不小于之前的,所以每次选需要时间少的一定优。那么扩展一下,考虑后面比前面耗时短该怎么做。如果你为了选后面升级而被迫选前面升级,那么这一整段升级过程显然是可以当成一段来看的,怎么看?取平均数。手模很容易发现每次选平均数小的一定比平均数大的优,证明的话自己随便造一组样例把贡献式子写出来就证完了。

那么需要考虑的是怎么求这些平均数小的段。一个暴力的思路,也是我第一次提交的写法,是从确定的开头开始,不断向后加到末尾,中途求平均数并记录最小值,这样是 \(\mathcal{O(\sum k_i^2)}\) 的,你会发现除了第一个样例都能过。

显然不优,考虑怎么优化。模拟一下从头扫到尾的过程,发现更新答案的前提是当前平均值更小,而对于一段确定的区间,加入一个比其平均数小的数一定能使其平均数减小,因此对于每一个数我们可以先让它自成一段,如果当前段平均数小于前一段就和前一段合并,这样做只会合并 \(k_i\) 段,时间复杂度来到了 \(\mathcal{O(\sum k_i)}\)

那么之后的事就很简单了,我们每次取最小的段就行了。

那么我在 accoder 上怎么 TLE 的呢🤔🤔🤔?

原因是我是并不是一次性从所有段中选的,而是对于每个 \(i\in [1,n]\) 只取了最小的一段,取完之后再加入可选项的。但这不是关键,关键是我开了一个完全没必要的堆,题意转化到这里,只用 sort 一遍就做完了,但我开了一个堆,常数 \(\times n\),然后就被卡常导致 TLE。

结论:以后写完题不要光拍,回头想想自己的写法是不是思路的最简化实现。

点击查看代码
#include<bits/stdc++.h>
#define fo(x,y,z) for(register int (x) = (y);(x)<=(z);(x)++)
#define fu(x,y,z) for(register int (x) = (y);(x)>=(z);(x)--)
using namespace std;
typedef long long ll;
#define lx ll
inline lx qr()
{
	char ch = getchar();lx x = 0 , f = 1;
	for(;ch<'0'||ch>'9';ch = getchar()) if(ch == '-') f = -1;
	for(;ch>= '0' && ch<= '9';ch = getchar()) x = (x<<3) + (x<<1) + (ch^48);
	return x*f;
}
#undef lx
#define qr qr()
#define fi first
#define se second
#define P_B(x) push_back(x)
#define pii pair<int , int>
const int Ratio = 0;
const int N = 6e5 + 5;
int n, cnt; ll m, ans;
int num[N], used[N];
struct rmm{ll su, nu, id;} d[N << 1];
vector<int> a[N];
vector<rmm> niu[N];
namespace Wisadel
{
    inline void Wturn(ll x, int num, int id)
    {
        rmm zc = niu[id].back(); niu[id].pop_back();
        zc.su += x, zc.nu += num;
        if(!niu[id].size()) niu[id].P_B(zc);
        else if(1ll * zc.su * niu[id].back().nu <= 1ll * niu[id].back().su * zc.nu) Wturn(zc.su, zc.nu, id);
        else niu[id].P_B(zc);
    }
    inline short main()
    {
        // freopen(".in", "r", stdin) , freopen(".out", "w", stdout);
        freopen("dog.in", "r", stdin) , freopen("dog.out", "w", stdout);
        n = qr, m = qr;
        fo(i, 1, n)
        {
            num[i] = qr;
            fo(j, 1, num[i])
            {
                ll x = qr; a[i].P_B(x);
                rmm zc = {x, 1, i};
                if(j == 1)
                {
                    niu[i].P_B(zc);
                    continue;
                }
                if(1ll * x * niu[i].back().nu <= 1ll * niu[i].back().su) Wturn(x, 1, i);
                else niu[i].P_B(zc);
            }
            fo(j, 0, niu[i].size() - 1) d[++cnt] = niu[i][j];
        }
        ll tim = 0;
        sort(d + 1, d + 1 + cnt, [](rmm &A, rmm &B){return 1ll * A.su * B.nu < 1ll * B.su * A.nu;});
        fo(i, 1, cnt)
        {
            rmm zc = d[i];
            fo(i, used[zc.id], used[zc.id] + zc.nu - 1)
                tim += a[zc.id][i], ans += m - tim;
            used[zc.id] += zc.nu;
        }
        printf("%lld\n", ans);
        return Ratio;
    }
}
signed main(){return Wisadel::main();}
现在速度

image
image

D. 怪盗德基

byd 为啥 T2 感谢原名 T4 不写。

看不懂。


未完

待续

image

posted @ 2024-11-17 18:01  Ratio_Y  阅读(180)  评论(23编辑  收藏  举报