8.11模拟:数据结构

文章目录

  • 前言
  • 考场
  • 复盘
    • T1 forward
    • T2 basket
    • T4 square
  • 总结

前言

320分
还不错啦
没有挂分还是很可贵的
(暴力TLE就不怪我了)
T4反过来想其实就很可做了
逆向的思想需要培养(今天T1、昨天T2也是)
说实话今天早上状态不太好
特困生
不过T1成了一个很好的激励剂

考场

(不分题讲了,有些乱)
先看了一下题,真就和zld的提示一样,T1水的不行,后面的思路不太明显(但是相对感觉T3可做)
本来应该先写个T3的暴力稳一稳什么的
但是鉴于T1水的太厉害了
我基本还是有自信不会把链表的板子写挂的
所以还是先把T1正解写了(10min,心态就好起来了)
然后是T2和T4的暴力
T2的暴力还是有了一些技巧,用链表插入代替排序可以到n2(70pts)
T4怎么想各种思路都是n3的,50分之外不太能奢求太多了
回头看相对感觉可做的T3
(gg诚不欺我,先把暴力写了心态稳了很多)
(尤其是还剩两个多小时的时候)
然后听naonao的预言尝试了离线然后发现就非常可做
然后不着急细细写就把它切掉了(这题没挂还是挺不容易的)
此时大概是10:20,还有80分钟
时间的利用效率开始直线下滑
先把每道题瞅了一遍确保没有脑残bug
然后我想到T2n=2000的70分似乎n2logn也能过
又因为觉得链表很容易挂
所以反向优化加了个log变成无脑代码
(然后就T了10分…事实是我那个链表并没有写挂…)
然后还有60min的样子
开始抠分最不满的T4
没有抠出来,其实就是反着想没有想到
然后开始写玄学常数级优化…
(包括特殊数据就上下左右翻折等诡异操作)
然后就过了60!
针不戳
(996OJ的机子测甚至可以到80)
然后就又检查了检查,就结束了

复盘

T1 forward

缺乏逆向思维
反着想甚至比链表还好做

T2 basket

爆肝题
主要是set用的不熟练
std那样把新元素insert进去再删点会好做很多
而且还加了两个上下界防止溢出值得学习
我的代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=2e5+100;
int n,m,q,t;
int nxt[N],jd[N];
struct node{ll a,b,c,id;bool operator < (const node y)const{if(b!=y.b)return b<y.b;else return c>y.c;}
}p[N];
bool cmp(node x,node y){return x.a>y.a;
}
struct node0{ll v,id;bool operator < (const node0 y)const{return v<y.v;}
};
set<node>s;
set<node>:: iterator it;
multiset<node0>s0;
multiset<node0>:: iterator it0;
ll ans,A,B,C;
void insert(node o){it=s.upper_bound(o);if(it!=s.end()&&(*it).c>=o.c) return;jd[o.id]=1;while(it!=s.begin()&&!s.empty()){it--;if((*it).c<=o.c){jd[(*it).id]=0;s.erase(it);it=s.upper_bound(o);}else{nxt[(*it).id]=o.c;s0.insert((node0){(*it).b+nxt[(*it).id],(*it).id});break;}}it=s.upper_bound(o);if(it!=s.end()){nxt[o.id]=(*it).c;}else nxt[o.id]=0;s0.insert((node0){o.b+nxt[o.id],o.id});s.insert(o);return;}
int main(){scanf("%d",&t);while(t--){memset(nxt,0,sizeof(nxt));s.clear();s0.clear();scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lld%lld%lld",&p[i].a,&p[i].b,&p[i].c);}sort(p+1,p+1+n,cmp);for(int i=1;i<=n;i++) p[i].id=i;ans=p[1].a;for(int i=1;i<=n;i++){A=i==n?0:p[i+1].a;insert(p[i]);ll now;while(1){node0 o=*s0.begin();//printf("ok");//	printf("top:v=%d id=%d nxt=%d\n",o.v,o.id,nxt[o.id]);if(jd[o.id]&&o.v==p[o.id].b+nxt[o.id]){now=o.v;break;}else s0.erase(s0.begin());}ans=min(ans,A+now);ans=min(ans,A+(*s.begin()).c);//printf("i=%d A=%lld head=%lld\n",i,A,*s0.begin());//printf("now=%d C=%d ans=%lld\n",now,(*s.begin()).c,ans);}printf("%lld\n",ans);}
}
/*
2
3
1 2 100
100 4 5
1 100 3
1
10 10 10
*/

T4 square

代码细节挺多的
不太好调
尤其是复制粘贴一定要改干净!

总结

今天不错啦
但是晚上T2调了太久了
抵制特困生,我需要早睡qwq
明天:动态规划,加油!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[COCI2017-2018#5] Pictionary(并查集+dfs)

贼ex的一道&#xff0c;卡了本仙女整整7个小时orz 思路容易理解&#xff0c;but码力very重要orz 我愿意花五毛钱提升我的码力&#xff0c;换个脑子也行&#xff0c;不换脸这张脸生得俊俏 luogu传送door 题目 在宇宙一个不为人知的地方&#xff0c;有一个星球&#xff0c;上面…

P4570 [BJWC2011]元素

题目描述&#xff1a; 每个矿石有序号和魔力值&#xff0c;每个矿石最多使用一次&#xff0c;且多个矿石序号不能异或为0的前提下&#xff0c;问最多可以得到多少魔力值 题解&#xff1a; 异或运算的最终结果只和用于运算的数的各位上1的数量有关&#xff0c;与各数字运算的…

Docker最全教程——从理论到实战(九)

在本系列教程中&#xff0c;笔者希望将必要的知识点围绕理论、流程&#xff08;工作流程&#xff09;、方法、实践来进行讲解&#xff0c;而不是单纯的为讲解知识点而进行讲解。也就是说&#xff0c;笔者希望能够让大家将理论、知识、思想和指导应用到工作的实际场景和实践之中…

【做题记录】CF1444A Division

CF1444A Division 题意&#xff1a; 给定 \(t\) 组询问&#xff0c;每组给两个数 \(p_i\) 和 \(q_i\) &#xff0c;找出最大的整数 \(x_i\) &#xff0c;要求 \(p_i\) 可被 \(x_i\) 整除&#xff0c;且 \(x_i\) 不可被 \(q_i\) 整除 。 题解&#xff1a; 呜呜呜这道题总共算下来…

CF891C-Envy【可撤销并查集】

正题 题目链接:https://www.luogu.com.cn/problem/CF891C 题目大意 nnn个点mmm条边的一张无向联通图&#xff0c;每次询问一个边集能否同时出现在同一棵最小生成树上。 1≤n,m,q,wi,∑k≤51051\leq n,m,q,w_i,\sum k\leq 5\times 10^51≤n,m,q,wi​,∑k≤5105 解题思路 考虑K…

[2019CSP多校联赛普及组第五周] 调度CPU (贪心)

来来来&#xff0c;走过路过不要错过题目题解代码实现1代码实现2题目 ⼩Y同学有⼀块超级CPU&#xff0c;它有两个超级核⼼A和B。 A核⼼可以同时处理多项任务&#xff0c;每项任务处理时间为x&#xff0c;B核⼼只能同时处理⼀项任务&#xff0c;每项任务处理时间为y。 这⼀天…

8.12模拟:dp递推

文章目录前言本次最大收获考场复盘T1 lectureT2 n-thlonT3 assignmentT4 recoverset总结前言 245分 100704035 不太满意qwq &#xff08;被KH暴打 &#xff09; 后三道题全是部分分 而且T2和T3关键性质都出来了&#xff0c;距离正解只差临门一脚 但是就差了这一脚 感觉今天T2、…

NumSharp v0.6.1 科学计算库发布,支持标量和隐式转换

NumSharp&#xff08;Numerical .NET&#xff09;可以说是C&#xff03;中的科学计算库。 它是用C&#xff03;编写的&#xff0c;符合.netstandard 2.0库标准。 它的目标是让.NET开发人员使用NumPy的语法编写机器学习代码&#xff0c;从而最大限度地借鉴现有大量在python代码的…

【做题记录】CF1451E2 Bitwise Queries (Hard Version)

CF1451E2 Bitwise Queries (Hard Version) 题意&#xff1a; 有 \(n\) 个数( \(n\le 2^{16}\) &#xff0c;且为 \(2\) 的整数次幂&#xff0c;且每一个数都属于区间 \([0,n-1]\) ) 可以通过询问交互库不超过 \(n1\) 次询问&#xff0c;每次询问编号为 \(i,j\) ( \(1\le i,j \l…

P4301 [CQOI2013] 新Nim游戏

P4301 [CQOI2013] 新Nim游戏 题目&#xff1a; 在传统的Nim游戏基础上加一步&#xff0c;在第一个回合中&#xff0c;第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿&#xff0c;但不可以全部拿走。第二回合也一样&#xff0c;第二个游戏者也有这样一次机会。从第…

51nod1667-概率好题【容斥,组合数学】

正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId1667 题目大意 两个人。 第一个人有k1k_1k1​个集合&#xff0c;第iii个包括了范围[L1i,R1i][L1_i,R1_i][L1i​,R1i​]的整数。 第二个人有k2k_2k2​个集合&#xff0c;第iii个包括了范围[L2i,R2i][L2_i…

[Luogu2279][HNOI2003] 消防局的设立

文章目录题目法一&#xff1a;树上DP思路代码实现法二&#xff1a;贪心 搜索思路代码实现题目 2020年&#xff0c;人类在火星上建立了一个庞大的基地群&#xff0c;总共有n个基地。起初为了节约材料&#xff0c;人类只修建了n-1条道路来连接这些基地&#xff0c;并且每两个基…

8.13模拟:分治二分倍增快速幂

文章目录前言考场复盘T1 roadT2 shopT3 runT4 stairs总结前言 240分 100802040 T3少取了一个模结果全挂掉了&#xff08;好不容易推出来了…&#xff09; T2也因为各种奇怪的错误挂了分 qwq 吸取教训吧 考场 今天先看题 T1第一眼看错了题意觉得水的不行 T3YBT原题且很水 T2T…

dnSpy 强大的.Net反编译软件

一说起.net的反编译软件&#xff0c;大家首先想到的就是Reflector&#xff0c;ILSpy&#xff0c;dotPeek等等。而dnSpy同样是一款优秀的反编译软件&#xff0c;同时它是开源免费的。官方的描述是: dnSpy是一个调试器和.NET组件编辑器。 即使您没有任何可用的源代码&#xff0c;…

图的匹配

定义见&#xff1a;OI-Wiki 图的匹配 。 二分图 解法 \(1\) &#xff1a;网络流(通用) 二分图最大匹配可以转换成最大流(费用流)模型 。 如果使用 \(\operatorname{Dinic}\) 算法求该网络的最大流&#xff0c;复杂度\(O(\sqrt{n}m)\) 。 具体代码见博客文章网络流 。 解法 \(2\…

AT2161-[ARC065D]シャッフル/Shuffling【dp】

正题 题目链接:https://www.luogu.com.cn/problem/AT2161 题目大意 长度为nnn的0/10/10/1串&#xff0c;mmm个区间&#xff0c;你可以按照顺序任意排列区间中的数字&#xff0c;求最后的可能情况数。 保证给出区间的左端点不降。 1≤n,m≤30001\leq n,m\leq 30001≤n,m≤3000…

【acwing210 异或运算】

【acwing210 异或运算】 题意&#xff1a; 给定你由N个整数构成的整数序列&#xff0c;你可以从中选取一些&#xff08;甚至一个&#xff09;进行异或&#xff08;XOR&#xff09;运算&#xff0c;问所有能得到的不同的结果中第k小的结果是多少。 题解&#xff1a; 把所有数…

小奇探险

文章目录题目题解代码实现题目 小奇去遗迹探险&#xff0c;遗迹里有N个宝箱&#xff0c;有的装满了珠宝&#xff0c;有的装着废品。 小奇有地图&#xff0c;所以它知道每一个宝箱的价值&#xff0c;但是它不喜欢走回头路&#xff0c;所以要按顺序拿这N个宝箱中的若干个。 拿宝…

8.14 模拟:字符串

文章目录前言收获考场复盘T1 wordlistT2 passwordT3 readtreeT4 bracket总结前言 290分 2010070100 又被KH爆碾了qwq T1签到题脑抽写挂了80分… &#xff08;就差这80啊…&#xff09;、 收获 学会了启发式合并 还有一个把字符串所有后缀放进trie树的比较字符串的技巧 考场…

基于Asp.Net Core打造轻量级内部服务治理RPC(二 远程服务设计)

紧接上一篇《基于Asp.Net Core打造轻量级内部服务治理RPC(一)》文章。本文主要讲解基于Asp.Net Core的远程服务设计和实现。在上一篇中讲过,服务提供者提供的服务实际上就是一个Controller&#xff0c;那么是否在该程序中&#xff0c;服务都按照Asp.Net Core 中的Web Api的方式…