${\color{Green} \mathrm{Problem\ 1 :选数 }} $

签到题,一眼二分,但是打模板时死循环了:

while(L<R){
int mid=(L+R)>>1;
if(check(mid)) L=mid;
else R=mid+1;
}

后来发现 +1 要写在 check 通过的地方,不然容易 mid 值永远不变。

while(L<R){
int mid=(L+R)>>1;
if(check(mid)) L=mid+1;
else R=mid;
}

二分模板不够熟,需要多打。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 2 :搬砖 }} $

乍一看像是01背包的变种,只要改一下内层循环的范围就行,于是便有了开始的代码:

#include <bits/stdc++.h>
using namespace std; struct Node{
int w;
int c;
}A[1005];
int N,M,DP[40005],ans; int main()
{
scanf("%d",&N);
for(int i=1;i<=N;i++){
scanf("%d%d",&A[i].w,&A[i].c);
M=max(M,A[i].c*2);
}sort(A+1,A+1+N,[](Node a,Node b){return a.c<b.c;}); for(int i=1;i<=N;i++){
for(int j=A[i].w+A[i].c;j>=A[i].w;j--){
DP[j]=max(DP[j],DP[j-A[i].w]+A[i].c);
}
} for(int i=1;i<=M;i++){
ans=max(ans,DP[i]);
}printf("%d",ans);
return 0;
}

后来样例和大样例都过了,准备打 T3 ,听老师说,他到现在为止没看到一个 T2 正确的排序,于是慌慌又张张,再检查一遍,发现物品的顺序要满足 j 的最大范围递增,于是把排序规则改成了 a.w+a.c<b.w+b.c,把 j 的初值改成了 min(A[i].w+A[i].c,M),终于过了。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 3 :语文1 }} $

下次是不是有语文2

看到题目中的这句话,立马明白是线段树。

但是区间排序怎么实现啊喂?!

赛时没想出来,打了暴力,后来才知道,需要建 26 棵线段树来维护这个字符串。线段树变化真的多。

要多打线段树题QwQ。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 4 :旅行者 }} $

思路考场上没想出来,一直想不到可以把编号二进制分组。打了一个 36 分的暴力,吸氧 63 分。

后来知道了思路,写代码时最后一个点一直 TLE,后来用 bitset 代替 bool 才卡过。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





总结

期望(不开 O2):\(100+100+30+20=250\)

实际(不开 O2):\(100+100+21+36=257\)

实际( \({\color{White} \mathrm{\ \!}}\) 开 ${\color{White} \mathrm{\ !}} $ O2):\(100+100+21+63=284\)

这次比赛的分数还是比较满意的。但是时间没有规划好,导致最后一分钟才写完最后一题的暴力,大样例测完只剩几十秒了。以后要做好时间分配,正解不要想太久。

暑期集训 Day5 —— 模拟赛复盘的更多相关文章

  1. 暑期集训日志(Day0~Day5)

    章·五:2019-07-15:明月不谙离恨苦,斜光到晓穿朱户 ·昨日小结: 昨天考试又是爆零边缘,除了难过就剩难过了. T1暴力打崩了只拿了5分. T2没给分时间.最后20分钟打了个残码.没仔细观察数 ...

  2. 8.8 正睿暑期集训营 Day5

    目录 2018.8.8 正睿暑期集训营 Day5 总结 A 友谊巨轮(线段树 动态开点) B 璀璨光滑 C 构解巨树 考试代码 A B C 2018.8.8 正睿暑期集训营 Day5 时间:3.5h( ...

  3. 7.30 正睿暑期集训营 A班训练赛

    目录 2018.7.30 正睿暑期集训营 A班训练赛 T1 A.蔡老板分果子(Hash) T2 B.蔡老板送外卖(并查集 最小生成树) T3 C.蔡老板学数学(DP NTT) 考试代码 T2 T3 2 ...

  4. 2019暑期金华集训 Day5 树上数据结构

    自闭集训 Day5 树上数据结构 前置知识 点分治 边分治 树链剖分 LCT Top Tree LCT时间复杂度 线段树每次查询是严格\(\log n\)的,然而splay维护连续段的时候,如果每次查 ...

  5. 2019暑期金华集训 Day5 生成函数

    自闭集训 Day5 生成函数 一般生成函数 无脑地把序列变成多项式: \[ \{a_i\}\rightarrow A(x)=\sum_{n} a_nx^n \] 形式幂级数 生成函数是一种形式幂级数. ...

  6. 冲刺$\mathfrak{CSP-S}$集训模拟赛总结

    开坑.手懒并不想继续一场考试一篇文. 既没必要也没时间侧边栏的最新随笔题解反思相间也丑 而且最近越来越懒了竟然都不写题解了……开坑也是为了督促自己写题解. 并不想长篇大论.简要题解也得写啊QAQ. 目 ...

  7. [10.18模拟赛] 序列 (DP)

    [10.18模拟赛] 序列 题目描述 山山有一个整数序列s1,s2,-,sn,其中1≤si≤k. 求出有多少个准确移除m个元素后不同的序列.答案模(1e9+7) 输入 输入包括几个测试用例,并且由文件 ...

  8. NOIp2018模拟赛四十二

    今天看标题终于回到了“NOIP模拟赛”,十分高兴啊! 然后一打开题目: ********** 所以今天又是一场NOIPlus模拟赛(微笑) 成绩:0+70+0=70 A题想了个贪心被myh两分钟cha ...

  9. 洛谷 P5594 【XR-4】模拟赛

    洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...

  10. [NOIP10.6模拟赛]2.equation题解--DFS序+线段树

    题目链接: 咕 闲扯: 终于在集训中敲出正解(虽然与正解不完全相同),开心QAQ 首先比较巧,这题是\(Ebola\)出的一场模拟赛的一道题的树上强化版,当时还口胡出了那题的题解 然而考场上只得了86 ...

随机推荐

  1. 解决 Steam for Linux 部分 Valve 游戏中文显示问题/军团要塞2的字体显示问题

    解决 Steam for Linux 部分 Valve 游戏中文显示问题 发表于 Apr 7th 2019 | 分类于 Keep Digging Steam for Linux 上有许多好玩的免费游戏 ...

  2. Python使用os模块创建带时间戳的文件

    直接上源码: import os import time # 定义函数名:在py文件路径下创建cache的txt文件 def txt(name, text): # os.getcwd() 获取当前的工 ...

  3. ItemsControl和ListView、ListBox的区别

    1.ItemsControl用来显示一个数据项的集合,它的底层是一个列表,它可以非常灵活的展示布局和数据 以下是例子 <ItemsControl ItemsSource="{Bindi ...

  4. 记录--前端路由 hash 与 history 差异

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 简单介绍 Vue Router Vue Router 是 Vue.js 官方的路由插件,它和 Vue.js 是深度集成的,适合用于构建单页 ...

  5. 记录--uniapp登录流程详解uni.login

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 uni.login(OBJECT)登录 H5平台登陆注意事项: 微信内嵌浏览器运行H5版时,可通过js sdk实现微信登陆,需要引入一个单 ...

  6. vue3中使用simple-keyboard实现虚拟键盘(带中文切换数字键盘)

    效果图 官网 simple-keyboard官网:https://hodgef.com/simple-keyboard/ 打不开的话请用魔法 不足 中文语言包支持度不够.不过自己可以找语言包替换 依赖 ...

  7. WC-Write Combining 合并写技术

    WC-Write Combining 合并写技术 为了提高写效率: CPU在写入L1时,同时用WC写入L2 实验代码: public class WriteCombining { private st ...

  8. 第一次画pcb学到的知识

    第一次画pcb学到的知识 1. Typec (6针) 其中的CC1.CC2引脚为快充协议的引脚,用不到的时候串个5.1K的电阻接地s 2. AMS117降压电路 AMS1117芯片的输入电压都要一个1 ...

  9. 04 jQuery遍历器

    04 jQuery遍历器 如果jQuery一次性选择了很多元素节点. 而我们又希望能拿到每一个元素中的相关信息. 此时可以考虑用jQuery的遍历器来完成对元素的循环遍历. 例如: <!DOCT ...

  10. #线性筛,哈希#CF1225D Power Products

    题目 给定一个长度为 \(n\) 的正整数序列 \(a\),问有多少对 \((i,j),i<j\) 使得存在一个整数 \(x\) 满足 \(a_i\times a_j=x^k\) 分析 将 \( ...