写在前面

05/10/19

今天心情很糟糕,没学新东西,复习没复习,作业没写完,下午要网课,明天要月考,脑子里就像是被一团棉花塞住了。静静的思考了半个小时,把自己手头上的事情排了个序,所以决定先把游记写个一半。刚刚把耳机捂热了,却不放任何的歌曲——我可以静一静了。

再见,那些知识点

暨·两年后填坑清单【不完整

加粗为截至05/10/19尚未掌握的知识点
基本上每个知识点都会附上代码或者是例题,或许还会有一些当时学习的心得?

基础算法

  • 贪心

  • 分治

    • 外星密码//这道题在luogu中打了分治的标签,分解括号确实是的(很多时候我都没察觉到考分治),乍一看这题很简单,但是调代码似乎要有点久……
  • 高精度

  • 递归与递推

  • BFS && 双向BFS

    • 马的遍历//现在怎么也想不起来当初的代码是怎么WA了的,对比了一下似乎也没什么区别鸭……
  • DFS && 回溯

  • 前缀和

    • 前缀和和差分//总是会很有用的优化技巧
  • 离散化

    • 离散化//应该是吧抄老师的代码的emmm这里还有手写删除函数等待挑战
  • 倍增(QMI、RMQ、LCA、ST算法……)

  • 二分、实数域上的二分和三分//注意左右取舍间的开闭情况

    //**单调递增序列中**
    
    //x或x的后继
    while(l<r){
    	int mid=(l+r)>>1;
    	if(a[mid]>=x)	r=mid;
    	else	l=mid+1;
    }
    return a[l];
    
    //x或x的前驱
    while(l<r){
    	int mid=(l+r)>>1;
    	if(a[mid]<=x)	l=mid;
    	else	r=mid-1;
    }
    return a[l];
    
  • 模拟

STL

//关于STL的博客,就不在这里一一列了

  • vector
  • set
  • map && multimap
  • stack
  • queue && priority_queue
  • bitset

数据结构

    • 二叉树 这是二叉树……
    • 树状数组:树状数组1树状数组2【学了差不多忘了……太对不起xqy了!ごめんなさい!
    • 线段树【同上……对不起对不起对不起对不起……
    • 树的直径//没见过没学过没用过……请参考
    • 树的旋转
    • LCA
    • 树链剖分
    • 平衡树
    • 拓扑排序(AOV、AOE)
  • 单调栈
a[n+1]=p=0;
for(int i=1;i<=n+1;++i){
	if(a[i]>s[p]){
		s[++p]=a[i];
		w[p]=1;
	}
	else{
		int width=0;
		while(s[p]>a[i]){
			width+=w[p];
			ans=max(ans,(long long)width*s[p]);
			p--;
		}
		s[++p]=a[i];
		w[p]=width+1;
	}
}
int l=1;r=1;
q[1]=0;
for(int i=1;i<=n;++i){
	while(l<=r&&q[l]<i-m)	l++;
	ans=max(ans,sum[i]-sum[q[l]]);
	while(l<=r&&sum[q[r]]>=sum[i])	r--;
	q[++r]=i;
}

字符串处理

图论

//我会永远记得奇怪的电梯的!

数论

谁能想到我现在学的里面最全的居然是数论……

请参考寒假的博客请麻烦压一下定理的棺材板啦

  • 质数与约数
  • 线性筛/欧拉筛法
  • 辗转相除法
  • 扩展欧几里德
  • 快速幂
  • 欧拉函数
  • 威尔逊定理
  • 卢卡斯定理
  • 费马小定理
  • 矩阵
  • 高斯消元
  • 容斥原理
  • 博弈论//关于NIM
  • 组合数
  • 中国剩余定理

动态规划

一些零碎/未曾遇见的知识点

  • 对拍//有用小技能
  • 命令行//有用小技能*2
  • 计算几何
  • 莫队
  • 位运算
  • 打表//打表出奇迹!
  • 随机化

再见,那些题与时刻

再见,那些代码

2018.7码风

#include<bits/stdc++.h>
using namespace std;
    int pay[13];
    int money[13];
    int save[13];
    int y[13];
    int x[13];
    int cannot;
    int total;
    double finalget;
int main(){
	money[1]=0;
    for(int a=1;a<=12;a++)
	{
      cin>>pay[a];
    }
    for(int i=1;i<=12;i++)
	{
      x[i]=money[i-1]+300-pay[i];
      money[i]=x[i]%100;
      if(x[i]<0)
      {
        cannot=-i;break;
      }
      else
      {
        y[i]=(money[i-1]+300-pay[i])/100;
        save[i]=y[i]*100;
        total+=save[i];
      }

    }
    {
        if(cannot==0)
    {
        finalget=total*1.2+money[12];
        cout<<finalget<<endl;
    }

    else
    {
        cout<<cannot<<endl;
    }

    }
      return 0;
}

2019.1码风

#include<bits/stdc++.h>
using namespace std;
long long n,m,d=1,num,a=1,b,c;
long long gcd(long long x,long long y)
{
    if(y>x)
    {
        int tmp;
        tmp=x;
        x=y;
        y=tmp;
    }
    if(x%y==0)
    {
        return y;
    }
    else gcd(y,x%y);
}
long long fun(long long x1,long long y1,long long x2,long long y2){
    if(y2==n+1) return m;
    m=x1*y2+x2*y1;
    return fun(m,y1*y2,1,y2+1);
}
int main(){
    cin>>n;
    if(n==2)    m=3;
    else    m=fun(1,1,1,2);
    for(int i=1;i<=n;i++)
    {
        d=d*(i/gcd(m,i));
        m=m/gcd(m,i);
    }
    m=m*n/gcd(d,n);
    d=d/gcd(d,n);
    if(m>d)
    {
        num=m/d;
        m=m-d*num;
    }
    if(m==0)    cout<<num;
    else
    {
        a=num;
        while(a>0)
        {
            b++;
            a/=10;
        }
        a=d;
        while(a>0)
        {
            c++;
            a/=10;
        }
        for(int i=1;i<=b;i++)    printf(" ");
        printf("%lld\n%lld",m,num);
        for(int i=1;i<=c;i++)    printf("-");
        printf("\n");
        for(int i=1;i<=b;i++)    printf(" ");
        printf("%lld\n",d);
    }
    return 0;
}

2019.8码风

#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1e6+10;
int T,n,cnt,t[N],c[N],f[N];
inline void sakura(){
	for(int i=1;i<=n;++i){
		int a,b,s;
		scanf("%d%d%d",&a,&b,&s);
		if(s==0)	s=9999999;
		for(int k=1;k<=s;k<<=1){
			s-=k;
			c[++cnt]=a*k;
			t[cnt]=b*k;
		}
		if(s>0){
			c[++cnt]=a*s;
			t[cnt]=b*s;
		}
	}
}
inline int time(){
	int t1,t2,t3,t4;
	scanf("%d:%d %d:%d",&t1,&t2,&t3,&t4);
	t2+=t1*60,t4+=t3*60;
	return t4-t2;
}
int main(){
	T=time();
	scanf("%d",&n);
	sakura();
	for(int i=1;i<=cnt;++i)
		for(int j=T;j>=c[i];--j)
			f[j]=max(f[j],f[j-c[i]]+t[i]);
	printf("%d",f[T]);
	return 0;
}

再见,那些OJ/网站

再见,那些人与事

此篇不作公开(像是有人会看一样),单独私发。

一年左右了,我在机房里讲的话两只手可以数过来,可是这次我想无声地说一次“大话”:请在2021/06/26的时间轴上等我,80个志愿,我只需要一个——

浙江大学 工科试验班(信息)

[AFO·游记]我的C++451天游击战的更多相关文章

  1. SCOI2017 游记(AFO)

    SCOI2017 游记(AFO) Day 0 上午模拟考,又tm用暴力a了一道题,心情舒畅.(要是省选也这样该有多好,2333) 晚上又去吃了什么不知名的东西,自己都忘了,总之好像很好吃的样子. Da ...

  2. CSP-S 游记(算是AFO记 8)

    Day-1 没什么好写的,还是一道题还是能调半天的状态 Day 0 假装出去旅游,结果公交车开了三个小时,状态直接爆炸 晚上颓了一下,最后还是 10 点睡的...真的当成是旅游了吧,只有到了比赛的时候 ...

  3. Noip2018游记——AFO

    本来Day 0和Day 1写得挺轻松的,结果没想到Day 2是这样的画风...心情逐渐沉重... Day 0 白天的时候颓的一批,上午考的信心赛还打错了一个字母然后$100pts\rightarrow ...

  4. 2019年十一月(CSP S游记及AFO)

    DAY-4 晚自习和班里以及搞OI的两个dalao商量了下决定停课了,当时觉得停得好晚,有的dalao都停一个月了.(现在感觉是明智的选择,我OI辣么菜还不如专注文化课) 晚上回家洗了个澡. DAY- ...

  5. CSP-S 2019 游记,以及AFO

    CSP-S:Day1 195 Day2 84 滚粗,AFO. Day0 和cyl神仙打了一会儿游戏,九点半教了cyl一下LCT,开始写板子题,写到十点半,睡觉. Day1 六点半起床.吃饭.赶赴考场, ...

  6. AFO以后的机房游记

    2019.8.6~8.8 周老师让我讲插头DP,理所当然地到机房备课(tuifei) dl24来了足足19个人.只可惜lsy没来,我们的phy,ljx去了首师附.看不到神仙打架了[哭] 插头DP这玩意 ...

  7. ZJOI2019一轮游记

    Preface 期待已久的省选终于开始了233,关于之前的一些内容,在ZJOI2019一轮停课刷题记录都可以找到,这里不再赘述 ZJOI2019,Bless All Day -1 今天难得有休息,昨晚 ...

  8. NOI2017 游记

    成功在NOI2017退役……现在的我已经是一只退役狗了 结果也一直到了退役,我都还不会半平面交,不会单纯形,不会非旋转版Treap…… FWT我也不熟,分治FFT我也只写过一道板子题 但是现在已经退役 ...

  9. CTSC2018&APIO2018游记

    CTSC2018&APIO2018游记 Day 0 傍晚出发,从长沙通往帝都的软卧哟. 然而长沙某中学坐高铁比我们晚出发还早到 Day 1 为了正经地写游记我决定忍住不在博客里吐槽酒店. 午饭 ...

随机推荐

  1. ssm框架下怎么批量删除数据?

    ssm框架下批量删除怎么删除? 1.单击删除按钮选中选项后,跳转到js函数,由函数处理 2. 主要就是前端的操作 js 操作(如何全选?如何把选中的数据传到Controller中) 3.fun()函数 ...

  2. scrollIntoView 前的元素滚动到浏览器窗口的可视区域内 不止垂直滚动,还有水平滚动

    Element.scrollIntoView() 方法让当前的元素滚动到浏览器窗口的可视区域内 element.scrollIntoView(); // 等同于element.scrollIntoVi ...

  3. Python---9高级特性

    一.切片 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', ' ...

  4. python 使用 UTF-8 编码

    题记 一般我喜欢用 utf-8 编码,在 python 怎么使用呢? 使用utf-8 文字 在 python 源码文件中用 utf-8 文字.一般会报错,如下: File "F:\works ...

  5. 不装逼地说,在 Google 到底能学到啥?

    不装逼地说,在 Google 到底能学到啥? 2017-03-17 PHP开发者 (点击上方蓝字,快速关注我们) 本文转自公众号「半轻人」(ID:ban-qing-ren),伯乐在线/PHP开发者已获 ...

  6. 浅谈在ES5环境下实现const

    最近看到一个面试题--用ES5实现const.作为JS初学者的笔者知道在ES6中有const命令,可以用来声明常量,一旦声明,常量的值就不可改变.例如: 1234567891011 const Pi ...

  7. OpenSSL 生成自定义证书

    前言 本文用来记录通过OpenSSL生成自定义证书并在浏览器设置可信任 准备 Linux CentOS7 系统 nginx 1.12.2 Windows 10 IE 11 chrome 71 Open ...

  8. RxJava 2.x 源码分析

    本次分析的 RxJava 版本信息如下: 12 implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'implementation 'io.reac ...

  9. Python——urllib函数网络文件获取

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  10. 使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解

    使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解 背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个 ...