自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法课作业2 OJ for Divide and Conquer

于是就简化问题求一个序列逆序数的个数,就用归并了上课讲过,可以在归并拆分返回的时候进行求逆序对,求逆序对两种,一种求每个数的右边比它小的数的个数,一种求每个数左边比它大的个数,我用第二种做的,归并返回的时候,两个数组都是有序的可以求右边的数组中每个元素,对于左边一共有几个比他大的,代码能力还行,wa了一次因为数组开的int 归并一次就写对了,我感觉我又行了哈哈哈。每次给n个无序的数,互不重复,问最少需要多少次必要的交换操作使n个数有序。

2023-10-18 09:13:48 1114

原创 算法课作业1

就把中间通道编号,奇数和偶数的编号调成1-200,之后对区间进行累加,重合次数最多的就是最小时间。注意坑就是,区间不一样从小到大,l,r要判断一下大小。两排都是房间,一排两百个房间,上面按奇数,下面按偶数编号,之后房间两两之间要搬桌子,搬桌子期间中间通道全部占用,可同步进行,搬一次10分钟,求最小时间。求e的对数有log函数,不懂为什么不会出精度错误,很迷,给的三个数字也没有顺序,需要多判断。给三个类型数字通过公式来回转化。

2023-09-15 12:10:38 275

原创 Matplotlib学习笔记

jupyter notebook优势Matplotlib画图工具。

2023-08-23 10:30:53 1309

原创 Pandas学习笔记

导入一份泰坦尼克号乘客数据。

2023-08-23 10:29:43 281

原创 Numpy学习笔记

通常数据都能转换成矩阵,行就是每一条样本数据,列就是每个字段的特征,Numpy在矩阵运算上非常高效,可以快速处理数据并进行数据计算。

2023-08-23 10:24:52 895

原创 白话机器学习笔记(二)学习分类

分类用图形来解释,把他想象为有大小有方向带箭头的向量。设权重向量为w,虚线为使称为的直线。w⋅x0(两个向量的内积)w⋅xi1∑n​wi​xi​w1​x1​w2​x2​0w⋅x∣w∣⋅∣x∣⋅cosθ要使内积0,θ90°或θ270°。

2023-07-20 21:12:24 256

原创 白话机器学习笔记(三)评估已建立的模型

在进行回归和分类时,为了进行预测,我们定义了函数fθ​x,然后根据训练数据求出了函数的参数θ。如何预测函数fθ​x的精度?看它能否很好的拟合训练数据?我们需要能够定量的表示机器学习模型的精度,这就是模型的评估。

2023-07-20 21:06:21 230

原创 白话机器学习笔记(一)学习回归

fθ​xθ0​θ1​x(常用θ表示未知数、fθ​x表示含有参数θ并且和变量x相关的函数)

2023-07-20 20:49:57 168

原创 五一集训讲课内容(4.28-5.2)

五一集训讲课内容(4.28-5.2)比赛注意开头写文件读入、写出的两行代码。freopen("文件名.in","r",stdin);freopen("文件名.out","w",stdout);内存限制为256MB最多开6e7的int型数组内存限制为512MB最多开1e8的int型数组1e9的数组绝不能开!!!时间限制1000ms,for循环最多循环1e9次大量数据(1e6以上)...

2023-06-13 18:19:00 54

原创 基于vue的微信小程序学习

脚手架搭建项目全局安装1.npm install -g @vue/cli (出现bug)解决:执行删除npm config rm proxynpm config rm https-proxynpm install -g cnpm --registry=https://registry.npm.taobao.org安装淘宝的cnpm创建项目执行cnpm install -g @vue/c...

2021-01-02 00:06:00 32

原创 2017亚洲区域赛(西安)

B 签到#include<bits/stdc++.h>using namespace std;const int maxn=2e5+10;int a[maxn],b[maxn];int main(){ int T; scanf("%d",&T); while(T--) { int n,k; sca...

2019-10-17 18:10:00 66

原创 2017 ACM ICPC Asia Shenyang Regional Contest

I Java大数import java.math.*;import java.util.*;public class Main {// public static Scanner sc = new Scanner(System.in); public static void main(String[] args) { Scanner in = new...

2019-10-16 16:02:00 29

原创 2019上海网络赛(J)Stone gameDP背包

题意:给n个不同重量石头,现在要你挑出来一个集合S1,剩下集合为S2,要求满足S1重量>=S2重量且S1中任意去掉一个石头重量<S2。思路:网络赛的时候没写出来,花了一个小时,结果给超内存了,对拍结果是一样的,我设f[i][j]表示S1集合重量为i,S1集合最小石头重量为j的方案数,这样是超内存的,赛后一直没补,今天看到了做了一下,看了一眼题解排序,一秒想出了思路。从大到小排序之...

2019-10-09 16:13:00 30

原创 2019 Multi-University Training Contest 4

1008 K-th Closest Distance题意:给n个数字,m个询问,每次询问给L,R,P,K,问区间[L,R]中所有数ai都变为为|P-ai|,问第k大的数为多少?思路:因为是绝对值,可以理解为,在[L,R]中寻找距离P第k近的距离是多少?可以二分这个距离,满足[L,R]中[p-mid,p+mid]的个数<=k的最小的mid就是答案。主席树可以求一个区间中属于一个范围的数的...

2019-10-09 14:48:00 29

原创 POJ 5542 树状数组优化DP

题意:给长度为n的数组,问有多少长度为m单调递增子序列? n,m<=1000思路:设f[i][j]表示长度为i的以aj为结尾的单调递增子序列的方案数,易得f[i][j]=f[i][j]+f[i-1][k] (ak<aj)第一层枚举n,第二层枚举m,第三层枚举小于m的位置,其中第一层,第二层由于状态方程是无法改变的,而第三层枚举小于m的位置的所有小于a[j]的值都是要计算的,所以...

2019-10-07 20:18:00 30

原创 POJ3171 线段树优化dp

题意:给范围为l到r的区间,给n个奶牛,每个奶牛可以覆盖一段区间同时有一个代价,求把所有区间覆盖的最小代价思路:给n个奶牛按照r从小到大排序,按照这个顺序我们依次来判断每个奶牛,设f[x]表示[l,x]这个区间被覆盖的最小代价,初始化[l,r]=inf,[l-1.l-1]=0,对于每个奶牛它可以从[l-1,r]这个区间的最小代价转移到到它所能覆盖的最右端点r,每次判断区间最小值和端点修改用线...

2019-10-06 22:27:00 28

原创 Codeforces Round #590 (Div. 3)

D题意:给长度为n的字符串,接下来给m个操作,操作一:改变一个位置的字母,操作二:询问一个区间内字母的不同个数思路:叶子节点代表每个位置对应的字母,父节点二进制状压所有字母就可以,这个题都没有区间修改,太水了。线段树染色问题简化版#include <iostream>#include<cstdio>#include<algorithm>#in...

2019-10-03 19:15:00 25

原创 POJ2777 线段树区间染色问题

题意:给L长度的木板,给T种颜色,给O个操作,每次可以选择一段区间染色,或查询一个区间的颜色种类思路1:用叶节点存具体颜色,父节点记录子节点的颜色集合(都采用二进制从低位到高位表示具体颜色数字)#include <iostream>#include<cstdio>#include<algorithm>#include<cstring>...

2019-10-03 16:38:00 29

原创 POJ2182 Lost Cows 树状数组,二分

题意:给n个奶头身高从1到n,现在奶牛排成一列,给n-1个数字,为第二号奶牛到第n号奶牛前面比它矮的奶牛个数。求这个序列每个奶牛的身高。思路:从最后一个奶牛开始判断,因为最后一个奶牛是和前面所有奶牛做比较的,我们可以根据比它矮的奶牛个数确定它的身高,如果前面有3个比它矮那么它身高绝对为4,而继续判断前一个奶头身高时,要把这个奶牛剔除考虑,所以我们想到可以维护一个长度为n的01序列,为1表示...

2019-09-30 18:31:00 66

原创 P1908 逆序对 树状数组

#include<bits/stdc++.h>using namespace std;const int maxn=5e5+10;#define ll long longint a[maxn],b[maxn];ll c[maxn];int n;ll ask(int x){ ll ans=0; for(; x; x-=x&-x) ...

2019-09-30 17:17:00 24

原创 2019 Multi-University Training Contest 3

Find the answer 权值线段树题意:给n个数字,m值,输出n个值,每次问对于前缀和1~i(1<=i<=n) 中,最少去掉(1,i-1)中多少个数字才能使前缀和小于m;思路:很多做法,可以使用权值线段树,用权值线段树记录数组的前缀和和前缀和所对应得数字个数,因为权值线段树中叶子节点记录的数字是从小到大的,所以我们可以求出权值线段树前缀和小于一个值所能最多添加多少个数字(...

2019-09-29 16:17:00 23

原创 主席树板子题区间第k小

https://www.luogu.org/problem/P3834#include<bits/stdc++.h>using namespace std;typedef long long ll ;const int maxn=2e5+7;int n,m,cnt,root[maxn],a[maxn],x,y,k;struct node{ int l,r,s...

2019-09-28 22:23:00 20

原创 权值线段树板子题

https://www.luogu.org/problem/P1168#include <bits/stdc++.h>using namespace std;const int maxn=1e5+5;int tree[maxn*4];int dtc[maxn];int a[maxn];void pushup(int root){ tree[root]=tre...

2019-09-28 21:35:00 19

原创 KMP板子题

https://www.luogu.org/problem/P3375#include<bits/stdc++.h>using namespace std;const int maxn=1e6+10;int nxt[maxn];int f[maxn];char a[maxn];char b[maxn];int lena,lenb;int ans[maxn],cnt...

2019-09-28 17:03:00 18

原创 回文树板子

#include<bits/stdc++.h>using namespace std;#define ll long long#define ull unsigned long longconst int maxn = 300005 ;const int N = 26 ;int nxt[maxn][N] ;//next指针,next指针和字典树类似,指向的串为当前串两...

2019-09-25 20:47:00 17

原创 线段树的收获

关于线段树的理解, 在自己需要时翻看。什么是线段树?线段树的本质是一棵二叉树,不同于其它二叉树,线段树的每一个节点记录的是一段区间的信息线段树的功能?更新点,查询区间更新区间,查询点更新区间,查询区间线段树的优势?一个长度为N的一维数组(a[1]~a[N])我们每次对该数组有一些操作:1、修改数组中某个元素的值【1,5,4,1,6】---(a[2]=3)-...

2019-09-23 19:58:00 17

原创 点分治模板题

https://www.luogu.org/problem/P3806#include<bits/stdc++.h>using namespace std;const int maxn=2e4+10;int head[maxn],ver[maxn],nxt[maxn],edge[maxn];int tot;int vis[maxn]; // 分治时用来标记哪个重心已经...

2019-09-22 13:29:00 16

原创 D. Make The Fence Great Again

题意:给n个木块的起始高度,还有每个木块加一高度的代价,求使每个木块相邻两边高度不同的最小代价。思路:设f[i][j],表示判断到第i个木块,第i个木块增高j所需的最小代价,可知,每个木块因为相邻两个木块,所以每个木块只需要增高0,1,2这三种可能,做法就是相当于暴力枚举加记忆化了。#include<bits/stdc++.h>using namespace std;#de...

2019-09-22 10:54:00 21

原创 The Preliminary Contest for ICPC Asia Shenyang 2019

D. Fish eating fruit#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=2e4+10;const int mod=1e9+7;int head[maxn],ver[maxn],nxt[maxn];ll edge[maxn];ll s1[ma...

2019-09-18 20:14:00 18

原创 2019 Multi-University Training Contest 1

1004#include<bits/stdc++.h>using namespace std;const int maxn=1e5+10;struct note{ double s,v,l;} c[maxn];int main(){ int n; while(~scanf("%d",&n)) { for(i...

2019-09-10 21:24:00 14

原创 动态规划专题 - 解题报告

https://acm.uestc.edu.cn/contest/15/summary/?tdsourcetag=s_pctim_aiomsgdp专题要刷完!!A - oy环游世界 - 解题报告状态压缩dp入门题注意要开long long#include<bits/stdc++.h>using namespace std;#define ll long long...

2019-08-29 20:57:00 24

原创 Educational Codeforces Round 71 (Rated for Div. 2)

C有点郁闷,DP我怎么一个小时才写出来。题意:给一个长度为n的01串,要通一座桥好像,1表示这个桥必须二层,也就是柱子得2根,0表示一层,二层都可以,给了桥面的花费a,柱子的花费b,求最小花费思路:f[i][j],第i个位置,并且桥目前层数为j+1的最小花费,转移就好了。#include<bits/stdc++.h>using namespace std;#defin...

2019-08-27 19:53:00 14

原创 Tree 点分治

题意:给一颗树,n个点,n-1条边,问有多少对点满足两点之间的距离小于k。码一道题思路:设这个树的根为p,那么点对(x,y)分为过p点或者在p的子树部分,我们将点对按照所过的根节点进行划分成子问题处理,对于每个以p为根的子树,对于这个树,我们求d数组记录点到根的距离,b数组记录点所在根哪个子节点,之后用a数组记录节点,并把a数组按d排序,之后就可以通过双指针扫描求满足条件点对的个数。//A...

2019-08-27 18:00:00 18

原创 POJ1821 Fence 单调队列优化DP

http://poj.org/problem?id=1821题意:给长度为n的木板,k个工人,每个工人要么不粉刷,或者选择一个包含木板si,长度不超过li的连续的一段木板粉刷,每粉刷一块得到pi的报酬,问如何安排工人使得总报酬最大?思路:可以按si给工人排序,这样我们就可以按照顺序依次安排工人。设f[i][j]表示到第i个工人,刷到前j块木板的最大报酬,三种情况工人不刷:f[i][j]...

2019-08-25 19:10:00 20

原创 ZOJ 4114 dp

ZOJ 4114帕斯卡公式等组合数相关知识题意:给n个灯泡,让进行r轮操作,每次操作选择m个灯泡,将灯泡开关状态改变,给开始n个灯泡的状态和结束时的状态,问有多少种方案使灯泡从开始状态变为结束状态。思路:算是个牛逼题把,因为题目给定了灯泡初末状态,一开始我们可以得到到结束有多少个灯泡对应位置状态发生了改变,我们只需要在r轮操作中消除这些改变即可,设f[i][j]表示第i轮有j个灯泡的状态和...

2019-08-24 20:16:00 17

原创 2019 Multi-University Training Contest 2

http://acm.hdu.edu.cn/search.php?action=listproblemKejin Player思路:ri/si为等级为i时升级成功的概率,si/ri就表示第si/ri次升级成功,而前面的(si/ri-1)次全部升级失败,用这样的方式计算期望。#include<bits/stdc++.h>using namespace std;#defi...

2019-08-24 08:18:00 13

原创 Fibonacci 矩阵乘法入门

Fibonacci题意:求斐波那契的第n项,0<=n<=1e9思路:设f[n][2]为一个1*2的矩阵,表示斐波那契的第n项和第n+1项{fib[n],fib[n+1]},那么求它的下一项就是乘一个2*2的矩阵{01}{11}然后就是矩阵快速幂做就好了#include<iostream>#include<cstdio>#include<c...

2019-08-23 09:45:00 21

原创 C - Anna, Svyatoslav and Maps floyd

题意:给n*n的01矩阵,1i与j联通,0不联通,给m个点,表示依次走m个点,要求这些点的最短子序列,使最短子序列里的点走完的最短路与走完m个点的相同。思路:先floyd预处理两两点之间的最短距离,预处理时需要注意i到i点距离为0,之后将第一个点放入答案,枚举答案的最后一个顶点与m中第二个顶点开始的点的距离,如果距离相同,可以不选择m中的这个点,如果距离变小,答案中需要加上这个点的前一个点。...

2019-08-22 10:45:00 22

原创 HDU 4638 Group 莫队

注意:这个题中得注意先要移动右指针在移动左指针。#include<bits/stdc++.h>using namespace std;const int maxn=1e5+10;struct note{ int id,l,r,ans;} q[maxn];int block[maxn];int mp[maxn];int num[maxn];int cmp...

2019-08-19 13:00:00 19

原创 小Z的袜子 莫队入门

https://www.lydsy.com/JudgeOnline/problem.php?id=2038思路:离线做法,将所有的询问先存下来,然后将区间分为sqrt(n)份,然后按照区间给询问排个序,按照询问区间左端点所在的块为第一排序顺序,询问区间右端点为第二排序标准。之后就是通过利用两个指针在询问区间来回移动,前提是每改变一个位置可以O(1)的得到它增加或减少这个元素所对应的值,每变...

2019-08-19 10:26:00 18

空空如也

空空如也

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

TA关注的人

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