Diary Ⅱ

2023-10-17 00:10
文章标签 diary

本文主要是介绍Diary Ⅱ,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一篇博客太长了,重新开一篇

待解决:
1.图论的总结
2.区间dp和树形dp
3.斜率优化dp
4.二次元冒险的最短路做法+复杂度分析

2019/10/22

上午考试
中午+下午改题
晚上联赛真题
(如果任务完成了,晚上回家看会儿书呗)
期间自己找时间完成【待解决4】

上午考试:
T1 WOJ#4759 100pts
T2 WOJ#4760 30pts
T3 WOJ#4761 0pts
Total:130pts
最高:200pts

我太nan了……
如果Day1只能拿130,两天最多260.连一等都没有啊。
所以,我的猪猪,要加油ヾ(◍°∇°◍)ノ゙
认真去做
脑子不够刷题凑

T1 三分
证明一波下凸函数即可
(斜率单调不减)

T2 数据结构
算法一:将题目转化一下,也就是统计大于等于当前海平面的点数,然后再统计相邻的情况
两个树状数组就可以了
有些时候信息不能一次性维护完,那我们就分开维护不就好了吗
算法二: 考虑维护每个连续的段,我们都在其最左边统计。也就是统计满足a[i]<h&&a[i+1]>=h的位置

一个感觉很有用的东西
统计一个序列中满足a[i]<h&&a[i+1]>=h的数个数
常规思路:对于每一个h,O(n)扫一遍
但如果数据组数很多,显然不可以
转化一下思路,看每个a[i]会对哪些h造成贡献
显然 a [ i ] + 1 a[i]+1 a[i]+1~ a [ i + 1 ] a[i+1] a[i+1]这个区间内的h都满足条件
随便一个数据结构维护一下即可

T3
CE?掉了20pts
注意关键字冲突(不要用random)

其实这道题数据范围给的很妙啊。但我实在是辜负了出题人的好心,并没有理解到。
第二个数据范围 n < = 5 , m < = 1 e 6 n<=5,m<=1e6 n<=5,m<=1e6
难道不觉得很奇怪吗?点数如此之少,而边数竟然那么多。
说明实际上有用的边也很少–>连接两点的多的边方向互异,可以忽略
正解真的很妙!
不断地缩小边的数量,直到最后有n个点,n/2条边
然后再返回去一步一步倒推出答案
异或大法好%%%%%%

CF547D(T3的延展)

19:00~20:20 NOIP2014 寻找道路
w(゚Д゚)w我没了……
啊啊啊啊啊啊啊啊啊,又错sb题!!!
(不不不,这不能算是sb题,应该是自己思维上的漏洞)
检验每个点是否能够到达终点,就以终点为起点建一个反图,然后跑bfs
至于我yy的那个从起点跑dfs,是有问题的
比如说
在这里插入图片描述

如果我先遍历到2,然后到达3,再到1
那么3就不会被标记为能到达终点(因为1已经被遍历过,但尚未到达终点)

吼吼吼,早上水了两道NOIPDay1T1
那今天算不算完成了三道NOIP真题呢?
差不多能算吧。再加一道#1228 解方程
然后敲一下CF547D啦

20:45~21:49 CF547D
这个转化真是妙不可言
而且作为弱化版的2019/10/22T3
值得一做


2019/10/23

今天练习……
(是的,不是考试)
T1 WOJ#4053 目录 78pts
T2 WOJ#4051 测试 30pts
T3 0pts
T4 24pts
Total: 132pts
最高:296pts

T1 模拟
细节较多
!!!!数组开小见祖宗!!!!

T2 拆绝对值
我真是太瓜了……
想到正解,但是没有去证明正确性,就只打了暴力
明明很好证的好吧!!!!
以后考试还是要自己动脑证明一下(不能习惯性地不证)

T3 单调栈
这个做法遇到过很多遍了……
怎么还是做不出来
两行压一行
确定上下界

矩形通常可以将其抽象为两组平行的线段
枚举一个矩形,一般而言都是n4,考虑降低复杂度,只确定两个,剩下的根据题意思考更nb的做法
(所以暴力的二维ST表是真的细节多。+1-1很恼火)

T4
不应该受别人影响。。
看到神仙弃了T4,我也跟着去gangT3
结果T3没做出来,T4也没看
好在-1有分……不然就真的凉了
考后才发现T4明显好做的多

随便乱搞啊。改题的时候dfs写挂了都还有50+
枚举一波骚整

要有自己的节奏,不能受别人影响

今天上午写了一下解方程
NOIP2014都是什么玩意儿啊。
Day2T3取模就完事儿(当然还是要卡卡常)
取模是有可能冲突的
也就是说如果原式子代入x后不等于0
但是取模后就有可能了
只是冲突的可能性比较小

当然如果没有想到取模也就完了
总结:一般遇到很大很大的数,记得取模!!!
取模:加减乘都可以
(除的话用逆元)


2019/10/24

咦?昨天写的又没保存起?
无所谓。

WOJ#1809 花匠
简单dp
一开始理解错题意了
两个条件只能满足其一(注意每个条件都是对所有的2*i成立呀)
···update 2019/10/25···
并不能用单调队列优化
因为高度不具有单调性,前面弹掉的东西可能会对后面造成影响
数据大水。

今天考试
(考完讨论,感觉大家都很稳……
就我一个人T1gang太久,还不能保证A。T2T3只会暴力,而且T3还打挂)
等待成绩ing

T1 80pts
T2 10pts
T3 15pts
Total:105pts
最高:215pts

T1
找到的子树size不一定是最小的那个!
主要写太久T1,到后面越写越绕,代码冗长

T2
dp??
n3dp还是比较好想吧。
[ i , j ] [i,j] [i,j]表示i~j这个区间内算式的最大值
枚举最后一次被计算的运算符k
划分成两个子问题
(和之前做的那两道区间dp有啥子不一样吗??!!)
模型的转化和应用
为什么在知道某一题正解为dp的时候可以想出来,其他情况就不敢想呢?反思!
注意性质:
括号嵌套的最大层数不需要超过 2
然后就可以优化到O(n)了
f [ i ] [ 0 / 1 / 2 ] f[i][0/1/2] f[i][0/1/2] 0,1,2分别表示i之前有几个未匹配的括号

考场推性质!!!

T3
考场推性质!!!
性质1:x单调递增,不走回头路
性质2:矩阵可以退化为线段,且只有左边上下端点有用

晚自习任务:
今天T2 \/
复习同余方程组\/
NOIp两道真题

2019/10/25

WOJ#1810 华容道
真的好题啊。。
我爱图论QwQ
1.复杂度 2.dfs

dp专题训练
我爱dpQwQ

  1. dp比赛中剩下的题回顾做法
    (因为都是以前做过的,就不用写代码了。重在思想
    填数游戏+保卫王国
  2. 华容道问题解决×
  3. 曾老的概率期望题单×

又复习了一下扩展欧几里得求同余方程组

刷了一天的dp
总结一下吧

Problem 愤怒的小鸟 只用一维?
emmm……好吧其实是可以的
只是我改挂了……

2019/10/26

晚上任务:

  1. 今天考试的T2,T3
  2. 扫描线的SOJ上那道题
  3. 今天考试总结
  4. 明天学习计划

实际上只改完了T2
我……欸,加油吧姑娘

补总结
考试
T1 100pts
T2 30pts
T3 40pts
Total:170pts
最高:230pts

T1 送分题
打表找规律。走n步的期望步数就是n
(一开始不相信有这么简单,还以为自己深搜挂了。硬生生耗了1h)
当然考后还是需要严谨的证明
考虑多走一步后期望的改变
当前的期望值假定为 x 2 + y 2 x^2+y^2 x2+y2
一步之后分别有四分之一的概率为
( x + 1 ) 2 + y 2 (x+1)^2+y^2 (x+1)2+y2
( x − 1 ) 2 + y 2 (x-1)^2+y^2 (x1)2+y2
x 2 + ( y + 1 ) 2 x^2+(y+1)^2 x2+(y+1)2
x 2 + ( y − 1 ) 2 x^2+(y-1)^2 x2+(y1)2
展开后相加即为 s 2 + y 2 + 1 s^2+y^2+1 s2+y2+1

T2 树上差分好题
暴力还是很好做

由于这道题的限制,我们需要同时处理两棵树的信息(代码实现的时候记得封装)
在B树上差分,在C树上单点修改,链求和(代码实现时转化为子树加,单点求值)
其实本质上,B树上的差分相当于操作----告诉C树应该怎么做

T3 倍增
暴力还是很好做
一开始理解错题意。。并不理解那个字符串比较
不然应该有时间想更多的暴力分
字符串比较并不是优先看长度啊!
按位比较

感觉知道正解后,也不是很难
但就是想不到
而且不会分析复杂度(所以就不会自己构造重儿子)

其实整场考试也就只有大众分
正解想不出来,只会打暴力
差距还是很大……
加油努力吧


2019/10/27

10:00~11:00 考试T3
10:50完成
11:00~12:00 扫描线
12:00~12:30 昨天考试总结+题解
12:30~13:00 午饭
11:30~11:47 没有管理好自己,【颓】
12:00~12:15 吃饭
12:15~12:35 扫描线做完
12:35~13:10 考试总结
13:00~13:30 英语读报
13:35 完成
13:30~14:00 午休
14:55 起床。。。完全不能抵抗温暖的床的诱惑,冬天简直就想生根在床上/笑
事实上闹钟14:00就响了,但是我依然酣睡如猪( ¯(∞)¯)
下午得抓紧时间了啊!!!

14:00~15:00 斜率优化dp
完全出乎我的意料。。不知是斜率优化dp太难,还是我太笨,还是周末效率太低
反正15:00~18:00一直在弄这个玩意儿。。【我没了】
18:00~20:00 实在是效率太低,吃完晚饭后出去洗了个头(也许是为了换个脑子?)
20:00~21:00 开了一道斜率优化dp,想看看自己一下午到底有没有学到什么。。方程倒是推出来了,但是一上斜率优化就gg。。果然还是太笨了

15:00~16:00 概率期望dp
16:00~17:00 dp杂题
17:00~18:00 dp总结+下周学习安排
18:00~19:00 晚饭+休息
19:00~22:00 ldx给的题单
22:00 跑步

这篇关于Diary Ⅱ的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/221629

相关文章

Pregnancy Diary

2017年9月23日 我和老王结婚了 2018年7月6日 发现怀孕35天了,内心有点喜悦带着不知所措。我们给Ta取名王抱抱。 某一天吃午饭的时候,老王吐了,然后第二天我就开始接连不断的孕吐,网上搜了一下,老王得了妊娠伴随综合症。 接下来我们按部就班地去医院进行一系列的检查,然而检查结果并不好,7周没有胎心,经过1个月的保胎…… 2018年8月1日 两家医院确诊稽留流产,王抱抱1就这

[CISCN2024]-PWN:orange_cat_diary(glibc2.23.,仅可修改最新堆块,house of orange)

查看保护 查看ida 这里我们仅可以修改最新申请出来的堆块,但是有uaf漏洞。 完整exp: from pwn import*#context(log_level='debug')p=process('./orange')free_got=0x201F78def alloc(size,content):p.sendlineafter(b'Please input your c

Diary V(高考和自主招生篇)

###2018年6月6日 离校 “永远做一个善良的人,善待你身边的每一个人。”–希凯老师 跑去团委收回本班团档,干事利索被团委老师夸奖了呢!“或许这也是我最后一次履行团支书义务了吧。” 老班最后终于在我们期限为“永久”的请假条上签下了名字。大家唱歌,我在看题;大家自拍,我推着桌子默默离开;大家留恋不舍,我备好了行囊大步流星下了楼。与其留恋,不如洒脱。 “愿你出走半生,归来仍是少年。” #

Diary I

关于2017年9月至10月上旬Stockholm_Sun的动向 暑假就要结束了,作为OIer的我,已经开启了高三的学业,当然了,OI的生涯还有72天,但这一段时间要好好搞文化课,进行一轮复习,大概会有37天之后吧,我就会回来闭关,一直到NOIP结束,然后光荣退役,继续一轮复习。 这段时间当然也会有时间回来竞赛,但是显然时间上不会这么频繁,因为搞好一轮复习比较重要,我还要开启二倍速模式呢。 最

初雪-Diary?

who care                     ------------2018 11 6-------------- 终于AK一场啦 ------------2018 10 18-------------- 嗯....今天T2多组数据没读直接return .....T3忘记变双怎么写 .....T1SB递推我写了个BM CH特征多项式插出来的....写了2h.... ------

Personal diary of MrWangc (0)

昨天晚上加今天凌晨,终于是把新项目的代码下载好了(默默的吐槽一下网速),今天正式开始学习cakephp,先看的项目代码,还找了一下cakephp的资料,像手册啊、文档啊(当然是中文的,英文的看起来很难过,虽然博主英语4级,但还是不想读纯英文的)。关于找的资料已经另外发了两篇文章了。  下班之前写完这篇文,博主今晚要跟女朋友(谁说程序员都是屌丝,博主认为程序员才是好男人,人傻钱多嘛,哈哈)出去

【matlab】怎么记录和保存运行结果-diary 命令

在程序运行过程中,很多时候需要查看运行结果和中间过程,可以用写入txt或者excel文件中。但对于有很多中间过程的情况存在效率不高或者很多中间过程记录困难的问题。我发现了diary这个命令可以很好的解决这个问题。diary这个语句可以以文本文件的形式记录command window 这个窗口显示的运行结果全部记录下来,便于以后的查看。 比如要记录一下运行信息: Optimize a