自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 ode45用法案例

二阶变一阶:dot_x1 = x2;

2024-03-20 18:54:12 123

原创 fft迷思

【代码】fft迷思。

2024-03-19 14:08:08 326

原创 How to Write a Paper

研究目标:制定和测试假设,从这些测试中得出结论,并将这些结论传授给他人。你的目标不是收集数据。问你自己一个显而易见的问题:我为什么要做这项工作?这是什么意思?我想检验什么假设?我到底测试了哪些呢?结果如何? 这项工作产生了一种新的合成方法吗?我测量了什么?它们的特征是什么?画出可能的方程式、图形和方案。弄清主要思想是很重要的。如果你开始研究是为了测试一个假设,当你看到你所拥有的数据时,你会觉得这些数据似乎能更好地测试其他假设,不要担心。把它们都写下来,选择假设、目标和数据的最佳组合。通常,当一篇论文完成

2024-03-03 14:52:32 847

原创 图论算法学习笔记

Topological sorting//topological sorting#include<iostream>using namespace std;const int N = 5005;const int M = 500005;const int mod = 80112002;int n,m,a,b,en = 0;struct Edge{ int next,to;}edge[M];int head[N] = {0};int in[N] = {0},out[N]

2022-05-15 15:57:28 107

原创 并查集相关

文章目录板子题:亲戚板子题:亲戚#include<iostream>using namespace std;const int N = 5005;int fa[N] = {0},dep[N] = {0};//rank ambiguous了 int n,m,p,x,y;int find(int u){ if(fa[u]==u) return u; return fa[u] = find(fa[u]);} void add(int u,int v){ int fu

2022-04-29 23:46:13 92

原创 Hotel G

文章目录Luogu P2894 [USACO08FEB]Hotel G代码:一、倔强地没用lazytag二、加了lazy教训:Luogu P2894 [USACO08FEB]Hotel G差点没整死我、、、代码:一、倔强地没用lazytag#include<iostream>using namespace std;const int N = 50005;int n,m,op,d,e;int maxlen[N*4] = {0},llen[N*4] = {0},rlen[N*4]

2022-04-23 14:19:53 238

原创 A-B数对——题目解析

题目来源:Luogu P1102,OJ 1522解法1:Hash表(取模hash函数+开散列表-拉链法)#include<iostream>using namespace std;const int N = 200005;const int P = 1000003;int n,c,x,tot = 0;long long ans = 0;//1e10要开long long了 struct Node{ int data; int cnt; int next; Node(){

2022-04-21 13:36:09 1010

原创 树状数组与线段树

文章目录归纳整理 :归纳整理 :单点修改,单点查询:数组单点修改,区间查询:树状数组、线段树区间修改,单点查询:树状数组差分,单点查询转化为求前缀和(区间查询)、线段树不好做区间修改,区间查询:线段树lazy、树状数组b,c数组配合使用...

2022-04-20 21:24:13 104

原创 手写priority queue

文章目录要求:基本功能(顺序存储)连接存储(左堆)要求:1、完成priority queue的基本功能2、在至多logn的时间复杂度合并两个priority queue基本功能(顺序存储)#ifndef SJTU_PRIORITY_QUEUE_HPP#define SJTU_PRIORITY_QUEUE_HPP#include <cstddef>#include <functional>#include "exceptions.hpp"#include<i

2022-04-20 19:51:20 213

原创 Trie树

文章目录基本模板基本模板#include<iostream>#include<cstring>using namespace std;const int N = 1000005;//树里面总的结点数,最多100000个单词但是结点数肯定多于100000int n,m;int tree[N][27] = {0};//tree[i][j]存的是结点i的第j个儿子的节点号,用这样的方式连起来int fa[N] = {0};//找父亲bool f[N] = {0};//判

2022-04-06 19:46:14 59

原创 Lowest Common Ancestor

文章目录luoguP3379板子题luoguP3379板子题代码:现写的一份,是单纯的LCA#include<iostream>using namespace std;const int N = 500005;int en = 0,head[N] = {0};struct Edge{ int to,next; int val;}edge[N*2];int n,m,q,a,b,c,rt;int fa[N][21] = {0},depth[N] = {0},w[N] = {

2022-04-06 17:13:47 93

原创 双向链表实现的list

文章目录手写listAC代码(没那么漂亮的版本)修改后list分析函数及其作用写的时候出现的重大问题1、代码逻辑问题2、代码理解问题3、请写好返回值4、充分理解`new和malloc和T()`、`delete和free和~T()`手写list要求如下:给的algorithm如下:#ifndef SJTU_ALGORITHM_HPP#define SJTU_ALGORITHM_HPP#include <functional>namespace sjtu{template&

2022-04-01 00:13:26 1602

原创 顺序存储实现的vector

手写vector、关于malloc\free和operator new\delete

2022-03-26 16:44:43 819

原创 数理基础QAQ

文章目录整数对9取模=(各位数加起来)%9.N的大于sqrt(N)的质因子至多有一个(sqrt(n)指N的开方取整)1304 小球动量守恒1417 位运算11020 分解质因数欧拉筛/线性筛法区间GCD可以合并辗转相除法整数对9取模=(各位数加起来)%9.N的大于sqrt(N)的质因子至多有一个(sqrt(n)指N的开方取整)假设有质因子p1和p2都大于sqrt(n),那么p1*p2>n.所以在分解质因数的时候只需要讨论所有小于等于sqrt(n)的prime number(可以欧拉筛法),然后

2022-03-19 16:42:48 163

原创 文件读写类(链式内存管理

待填充模板:#ifndef BPT_MEMORYRIVER_HPP#define BPT_MEMORYRIVER_HPP#include <fstream>using std::string;using std::fstream;using std::ifstream;using std::ofstream;template<class T, int info_len = 2>class MemoryRiver {private: /* your..

2022-03-11 16:31:49 78

原创 模板类的重载

放代码:#include<iostream>#include<cstdio>#define USE_OStemplate<class T>class ArrayList;template<class T>std::ostream &operator<<(std::ostream &os,const ArrayList<T> &obj);class error : public std::e...

2022-03-11 16:27:37 427

原创 双向约瑟夫数学解法

这题是约瑟夫问题的加强版,需要双向杀人,同时由于数据的强度不能采用O(MN)或者O(N2),必须采用数学方法达到O(N)的复杂度。80分代码:#include<iostream>using namespace std;int n,m;bool f = true;struct Node{ int data; Node *next,*prev; Node(int k){ data = k; next = NULL; prev = NULL; }};Node *.

2022-03-11 14:22:21 135

原创 高级ST表(区间最长不下降子序列 & 区间GCD

文章目录题面T两个点代码:T一个点代码:AC代码:题面Tips:子序列没说连续!!Hint:最长上升子序列只需要考虑区间内是否有0,1{0, 1}0,1子序列,考虑维护两个数组LastOne和FirstZero,为了使得该hint含蓄一些,数组含义请自己脑补qwq。最长不下降子序列只有三种情况{000…000},{111…111},{000…111},前两种情况利用前缀和维护即可,第三种情况可以枚举0,1的分界点,总复杂度为O(NM),会超时。考虑用ST表优化这一过程,做到O(1)查询,最终复

2022-03-09 09:28:44 208

原创 模板类的继承(类模板作为基类),内嵌类的继承

C++模板类的继承,类模板作为基类,内嵌类的继承

2022-02-24 20:54:33 541

原创 考前复习笔记

文章目录1. if的短路效应:2. 局部变量会覆盖全局变量3. `do{ }while()`4. `while`小心数组越界!!!5. 缺省值6. 内存分配7. 一些重载8. 重载和重定义9. 友元:10. 成员函数put输出字符11. write成员函数无格式输出12. 输入流:13. `cin.read(buffer,10);`14. 文件操作:15. 函数模板1. if的短路效应:如果&&前面条件不满足,或者||前面条件满足了,那么直接跳出,不做后续操作,意思是如果后面有赋值也

2022-01-10 21:35:55 172

原创 类及相关知识

文章目录一、实例1、各种形状的图形二、面向对象的特点封装继承多态三、库和类关于库array库的问题array库的改进:将函数放进结构体how it becomes 'class':类定义实例对象的使用对象的定义对象的引用实例对象赋值this指针一、实例1、各种形状的图形在屏幕上输出各种形状的图形(文字),诸如圆形,长方形,三角形等;用一个数组存储这些不同的形状,并进行一些操作class shape{ public: virtual void draw()=0;};class rectangl

2021-12-11 17:27:49 150

原创 回文数_20211202

文章目录luogu P1217luogu P1217AC代码#include<iostream>using namespace std;int a,b,cnt = 0;int pri[10000000] = {0};bool vis[100000001] = {0}; bool check(int x){ int x1 = 0,x2=x; while(x){ x1 *= 10; x1 += x%10; x /= 10; } if(x1==x2) return

2021-12-02 12:42:44 598

原创 指针内容整理

文章目录指针1、概念2、指针变量的定义3、指针变量的赋值4、用指针变量对原单元的值进行操作5、注意事项6、指针运算与数组7、指针运算8、指针作为函数参数指针1、概念把地址作为数据处理指针变量:存储地址的变量eg:a是变量b的指针,意思是a存了b的地址,也可以说a指向b.2、指针变量的定义类型标识符 *指针变量; int *intp; //用*特别强调!!指针存的是起始地址! double *doublep;//这里加类型,是说明指针指向的单元的数据类型,输出的时候就只取那么多 in

2021-11-18 17:41:03 251

原创 数据结构笔记

链表考虑一个问题:一个排好序的数组,你要如何动态地插入和删除数字?正常数组的问题:拿一个total变量存数据个数(数组内有效长度)每次插入要O(n)地挪动,删除也是O(n)地挪动,还有可能数据太多塞不下了现在引入单链表:用的是结构体o但是链表访问必须从头开始,查找也不能二分查找另有:双链表:知道head,tail循环链表:最后一个的tail是第一个的地址...

2021-11-15 15:41:56 235

原创 DFS-BFS

一、基础图的存储方式邻接矩阵多条边 邻接表有向边 邻接矩阵不对称二、dfs遍历结点每次选择一个一个没有访问过的结点然后dfs,直到每一个点都被访问非递归:用栈,可以用STL写三、bfs分层,1、访问顶点v2、访问与顶点v距离k且没有被访问过的顶点3、如果搞完了还有顶点没访问,从任一个没访过的点开始重新bfs用队列(STL)实现,一个数指头一个指尾,每次从头取一个点,然后遍历它的下一级点,加到tail后面,终止:head=tail例题:1、flood-fill问题 - 数陆地块

2021-11-09 19:01:15 48

原创 作业集合(是算法题,语法题请见具体章节笔记

14258#include<iostream>using namespace std;long long pow2[37];int a,cnt = 0;long long n,ans = 1;int main(){ cin>>a>>n; pow2[0] = a;//意思是a的2^0次方,是a //a的2^n次方 = (a的2^n-1次方)*(a的2^n-1次方) for(int i=1;i<=35;i++){ pow2[i] =

2021-10-18 15:32:04 223

原创 算法笔记(在更新

穷举………………………………贪心haimeixue

2021-10-09 22:24:45 115

原创 dfs复习

全排列一题luoguP1706#include<bits/stdc++.h>using namespace std;const int N = 1000005;int n;int f[N] = {0},data[N] = {0};void print(){ for(int i=0;i<n;i++){ cout<<" "<<data[i]; } cout<<endl; return ;}void dfs(int

2021-09-27 15:38:08 69

原创 9.26上机课,爆double的一题

#include<iostream>#include<string>using namespace std;string s1,s2;int f1,f2;long long a=0,b=0,c=0,d=0,ans1=0,ans2=0;int main(){ cin>>s1>>s2; for(int i=1;i<=s1.length() ;i++){ f1 = i-1; if(s1[i-1]=='.') break; a =

2021-09-27 15:15:43 114

原创 程序设计复习——基础语句

输入输出四舍五入可以用printf,可能有坑(?)人工四舍五入 a = int (a+0.5);fixed<<precision 是四舍六入保留最后一位小数位为偶数(2.35到2.4,2.25到2.5)查库函数其他复制粘贴比较保险scanf输入多位数小数...

2021-09-26 18:41:31 293

原创 程序设计复习——基础概念

程序设计复习——基本内容(2021.9.10)常量与变量变量名、常量名、函数名(你自己取的那种)统称标识名,标识名只能以字母或下划线开头,中间只能用字母数字下划线;不可以是系统保留字如int、return等。变量赋值:int a = 10; int a (10);记得要习惯性赋初始值哦。整型类型类型名空间范围基本整型int4byte-231~231-1无符号基本整型unsigned [int]4byte0~232-1短整型short [int]2b

2021-09-10 14:34:39 144

原创 基础及语法复习

高三一年没有接触代码……现在连语法都有点不自信了…CSDN的文章写法也快淡忘了…所以写几篇来复习一下之前的内容首先是语法1、头文件:#include<bits/stdc++.h>//流氓的万能头 #include<iostream>//标准库头文件#include<cmath>//数学的,可以用square、abs、#include <cstdio>#include <fstream>#include <algorithm&g

2021-09-07 22:24:44 59

原创 Luogu P1967 货车运输

题目描述A 国有 n 座城市,编号从 1到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。.输入格式第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路。接下来 m行每行三个整数 x,y,z,每两个整数之间用一个空格隔开,表示从 x ...

2019-11-14 16:59:43 185

原创 P100 T2 不是AC代码!!害

zhxnb!!!恩这道题是个数学题以最下面和最左边两条边建系可以用向量叉乘算出点(b,a)到矩形靠左c长为L的边的距离,本题实际上是当L边在坐标轴上动时求该距离的最小值距离函数是一个单峰的(可以直接从图形中看出),用三分来解决实型数据杀我……精度控制太难了errrrrrrrrrrrrr注意:三分的步长小于eps,否则永远跳不到停止那一步(永不停息!! )郑tc讲课的时候说可以先*1e...

2019-11-04 18:54:32 111

原创 Luogu P1083 借教室

Luogu P1083 借教室(历史悠久的简单题 要是我会就好了)描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来nnn天的借教室信息,其中第iii天学校有rir_iri​个教室可供租借。共有mmm份订...

2019-10-24 20:47:37 125 1

原创 Poj 1125 Stockbroker Grapevine

Stockbroker GrapevineFloyd&Dijkstra描述众所周知,股票经纪人对谣言反应过度。您已签约开发一种在股票经纪人之间传播虚假信息的方法,以使您的雇主在股票市场上具有战术上的优势。为了获得最大效果,您必须以最快的方式传播谣言。对于您来说不幸的是,股票经纪人仅信任来自其“受信任来源”的信息。这意味着在开始谣言时,您必须考虑其联系方式。一个特定的股票经纪人将谣...

2019-10-24 14:05:08 158

原创 Poj 2253 Frogger

Freddy the frog ♪描述青蛙Freddy坐在湖中间的一块石头上。突然,他注意到坐在另一块石头上的青蛙Fiona。他计划去探望她,但由于水很脏,到处都是游客的防晒霜,他想避免游泳,而是跳跳来到达她。不幸的是,Fiona的石头不在他的跳跃范围内。因此,Freddy考虑使用其他石头作为中间停靠点,并通过几次小跳来到达她。要执行给定的跳跃序列,青蛙的跳跃范围显然必须至少与序列中发生的...

2019-10-24 08:37:16 133

原创 Poj 1062 昂贵的聘礼

Poj 1062 昂贵的聘礼Description年轻的探险家来到了一个印第安部落里。他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:“嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币。“探险家跑到大祭司那里,向他要皮袄或水晶球,大祭司...

2019-10-23 15:45:10 141

原创 Poj 3259 Wormholes Bellman-Ford

描述在探索他的许多农场时,农夫约翰发现了许多惊人的虫洞。虫洞非常特殊,因为它是一条单向路径,可把您在进入虫洞之前的时间 将您送至目的地! FJ的每个农场均包含 N(1≤N≤500)个田地,编号为 1到 N,M(1≤M≤2500)条路径和 W(1≤W≤200)虫洞。由于 FJ是一位热衷时间旅行的爱好者,因此他希望做到以下几点:从某个田地开始,经过一些路径和虫洞,并在他初次离开之前的某个时间...

2019-10-23 09:31:32 189

原创 链式前向星

终于在听了看了好多遍以后搞懂了链式前向星!!!!!!先放例图及代码实在是太难画了const int N = 100005;int en,head[N*2];//head的大小和en一样 struct Edge{ int to,next;}edge[2*N];//加边,x-->yvoid add(int x,int y){ edge[++en].to = y; ed...

2019-10-22 18:54:37 125 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除