- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 Py日记(python零起步
谨以此blog记录我的python学习之路和给其他初学者参考。我看的书是像计算机科学家一样思考Python,看起来B格很高,但其实非常好入门,并没有很理论(大概名字高级好卖一点 )。程序之路安装好python3,设好环境变量后,在命令行敲个python就可以进入码代码的模式了。新的语言自然是从Hello World开始>>> print('Hello,World!') #...
2019-08-16 23:55:51 335
原创 一些干净的DP题目
Making the Grade给一个长为n(n<2000)的序列A,将其变成一个非增或非减的序列B的绝对值改变量。key:B中所有的数都是A中的数。因为若al<b<ara_l<b<a_ral<b<ar时,总能令b变成其中一个值。则枚举bib_ibi为每个A中的值即可。dp[i][j]表示bi≤unqjb_i≤unq_jbi≤unqj时,目前的最小代价。// #include<bits/stdc++.h>#include<ios
2021-03-02 16:11:57 371
原创 图上DP
文章目录DAG上DP拓扑序SPFA普通图上DPSPFA记忆化搜索DAG上DP先对图进行预处理,再进行DP。一般都有两种套路,拓扑序或如Dijkstra或SPFA的最短路算法。拓扑序P4645 [COCI2006-2007 Contest#3] BICIKLI题意:一个有向图中,1->2之间有多少条不同路径。(有可能是0或inf)思路:在1->2的任意路径上有环即为inf。但是环若是在死路上就没影响。所以先在正向图从1开始DFS所有点,并标记1。在反向图从2开始DFS所有点,并标记为2
2021-03-02 16:11:06 1070
原创 图转树,边化点
文章目录[2016-2017 ACM-ICPC CHINA-Final G. Pandaria](https://codeforces.com/gym/101194/problem/G)\[AMPPZ2014\]Petrol2016-2017 ACM-ICPC CHINA-Final G. Pandaria题意:给一个nnn个点,mmm条有权边的无向图。每个点有一个颜色。多次查询在线查询x wx\ wx w,从xxx出发,只能走边权小于等于www的边,可以到达的所有点中数量最多的颜色
2021-02-25 23:05:42 2466
原创 DP的优化(斜率优化)
斜率优化[HNOI2008]玩具装箱TOY易得朴素思路,但时间复杂度超过1e8。dp[i]=min(dp[j]+(sum[i]+i−sum[j]−j−L−1)2),i>jdp[i]=min(dp[j]+(sum[i]+i−sum[j]−j−L−1)^2),i>jdp[i]=min(dp[j]+(sum[i]+i−sum[j]−j−L−1)2),i>j设Ai=sum[i]+i,Bj=sum[j]+L+j+1A_i=sum[i]+i, B_j=sum[j]+L+j+1Ai=sum
2021-01-27 16:38:15 373
原创 1、Codeforces Round #222 (Div. 2)
A. Playing with Dice遍历1~6 B. Semifinals归并排序 C. Maze题意:给一个地图,问如何覆盖k个格子,让剩下的空格形成一个联通块。错误思路:找周围最少空位的覆盖,下图就死了。题解:找到最大的联通块bfs/dfs联通块的大小减k大小,这块留空。除了留空的其他的都覆盖X D. Preparing for the Contest二分完成的天数d。对BUG和学生的能力进行排序。用学生价格优先队列维护,贪心让能力大于最难的BUG的最便宜的学生..
2021-01-27 00:50:31 110
原创 线性代数(MIT)
线性代数矩阵消元矩阵行变化, 相当于左乘矩阵.如下矩阵乘法为对第一行进行行变化row1:=row1+2∗row2−row3row1 := row1 + 2*row2 - row3row1:=row1+2∗row2−row3.$$\begin{bmatrix}1 & 2 & -1\0 & 1 & 0\0 & 0 & 1\\end{bmatrix}\begin{bmatrix}& row1 & - \& row2
2020-12-22 19:23:55 1016
原创 MEX 文件 ‘...\Psychtoolbox\PsychBasic\MatlabWindowsFilesR2007a\Screen.mexw64‘ 无效: 找不到指定的模块。
安装好Psychtoolbox后提示以下报错,问题在于GStreamer版本不对。>> ScreenTestMEX 文件 'D:\MATLAB2020a\toolbox\Psychtoolbox\PsychBasic\MatlabWindowsFilesR2007a\Screen.mexw64' 无效: 找不到指定的模块。出错 ScreenTest (line 8)screens = Screen('Screens');使用help GStreamer可以看到一段提示。其中一大堆废
2020-11-08 20:52:00 5060 3
原创 计算几何知识
直线和线段是否相交跨立实验,judge_point其中一个为0,或者异号。struct Point{ double x,y; Point operator- (const Point &v) const { return Point{x-v.x, y-v.y}; } int operator* (const Point &v) const { double flag = x*v.y - y*v.x; if(a
2020-11-06 15:41:41 303
原创 计算几何题集
判断点和射线的那边向量叉乘判断符号解决。向量叉乘使用右手法则。v1=(x1,y1),v2=(x2,y2)v1×v2=x1∗y2−y1∗x2v_1=(x1,y1),v2=(x2,y2) \\v1×v2=x1*y2-y1*x2v1=(x1,y1),v2=(x2,y2)v1×v2=x1∗y2−y1∗x2例:HDU 6857 依次给出三个点,求是顺时针旋转还是逆时针。s=v13×v23=(x1−x3)(y2−y3)−(y1−y3)(x2−x3)s=v_{13}×v_{23}= (x1-x3)(
2020-11-06 15:40:45 328
原创 K-D树
K-D树dim维空间中,维护一堆点,可以快速查询离某个点最近的点。建树。第a层按照第a%dim维中值分为左子树和右子树,O(nlogn)O(n\log n)O(nlogn)删除和新增节点。替罪羊树的思路,删除即标记已删除,新增直接插入。不平衡就拆掉这个子树重建。查询。按照每个点在树节点那一维的左边还是右边,先查那一个子树,再判断全局最小距离比查询点到分界线的距离大,则再查另外一个子树。#include <bits/stdc++.h>#define endl '\n'#defi
2020-11-05 20:43:18 113
原创 树形结构
树上背包P2014 [CTSC1997]选课n+1个节点选m+1个节点,让权值之和最大。选子节点要先选父节点。#include<bits/stdc++.h>using namespace std;#define endl '\n'using ll = long long;using pii = pair<int,int>;const int maxn=1e5+3;const ll mod=1e9+7;vector<int> G[305];int n,
2020-11-04 16:42:36 533
转载 贝叶斯公式
文章目录条件概率公式乘法公式全概率公式贝叶斯公式条件概率公式设A,B是两个事件,且P(B)>0,则在事件B发生的条件下,事件A发生的条件概率(conditional probability)为:P(A∣B)=P(AB)P(B)P(A |B) = \frac{P(A B) }{P(B) }P(A∣B)=P(B)P(AB)乘法公式P(AB)=P(A∣B)P(B)=P(B∣A)P(A)P(A B) = P(A | B) P(B) = P(B | A) P(A)P(AB)=P(A∣B)P(
2020-11-02 21:35:36 127
原创 数位DP
Windy 数Windy定义了一种 Windy 数:不含前导零且相邻两个数字之差至少为2的正整数被称为Windy数。Windy想知道,在A和B之间,包括A和B,总共有多少个 Windy 数?#include<bits/stdc++.h>using namespace std;int f[12][12],digit[12],cnt;int dfs(int x,int st,int op){ // x为当前为第几位 st为前缀状态 op表示前缀和当前求解的数字的关系,1为相同 0为小于
2020-09-26 16:00:30 199
原创 HDU 5936 折半枚举法
Differencekk说是16年CCPC杭州赛的银牌题给定x,K(x<109,1≤K≤9)x,K(x<10^9,1≤K≤9)x,K(x<109,1≤K≤9)求满足x=f(y,K)−yx=f(y, K)-yx=f(y,K)−y的所有正整数y的数量。f(y,K)=∑z in every digits of yzK(f(233,2)=22+32+32=22)f(y, K)=\sum_{z \text { in every digits o
2020-09-24 18:51:08 201 1
原创 HDU 1400 插头DP,状压DP
HDU 1400状态压缩DP逐行进行。详细看注释。跑出4s。Q_Q#include<bits/stdc++.h>#define debug(_x) cout<<#_x<<":"<<_x<<endl#define endl '\n'using namespace std;using ll = long long;ll f[2][1<<12],*f1,*f0;int n,m;bool judge(int s,int t)
2020-08-20 02:57:30 419
原创 笛卡尔树
定义笛卡尔树是一种key的二叉搜索树,val的小顶堆,Treap是特殊的笛卡尔树。如图,中序排序为key(此处为序列下标)的升序排列,且父节点的val小于子节点的val。构造使用栈始终维护以根节点为开始的右链。按key从小到大依次入栈。加入点u时,找到栈中第一个val小于val[u]的点x。把x的右儿子变成点u的左儿子,点u作为点x的右儿子。(保持中序遍历key有序)。应用HDU 1506...
2020-08-15 14:19:25 260
原创 HDU 1506 单调栈,笛卡尔树,DP
题目如图,求最大的矩形面积。单调栈维护一个单调递增的栈。当新进来的数小于前面的,前面的高出部分已经起不到作用了。故在加入新的前,弹出所有高出的元素,统计答案。再加入新的值,把宽度设成刚刚弹出的宽度加1。O(n)O(n)O(n)#include <bits/stdc++.h>#define debug(__x) cout<<#__x<<"="<<__x<<endl#define endl '\n'using namespace std
2020-08-15 14:18:53 218
原创 组合数学
超级易懂的link题目HDU 2082直接把不同字母的多项式相乘就行,模板题如只有2个a,3个c,1个g(x0+x1+x2)(x0+x3+x6+x9)(x7)(x^0+x^1+x^2)(x^0+x^3+x^6+x^9)(x^7)(x0+x1+x2)(x0+x3+x6+x9)(x7)#include<bits/stdc++.h>using namespace std;typedef long long ll;int num[30]; // 每个字母的数量ll sup[55
2020-08-11 00:06:29 145
原创 树上差分
差分差分是前缀和的逆运算。d1...nd_{1...n}d1...n是差分数组,a1...na_{1...n}a1...n是原数组。关系如下式。di=ai−ai−1d_i=a_i-a_{i-1}di=ai−ai−1则通过d1...nd_{1...n}d1...n数组求aia_iai,为求d1...nd_{1...n}d1...n数组的前缀和。ai=∑j=1idja_i = \sum_{j=1}^id_jai=j=1∑idj通过d1...nd_{1...n}d1...n
2020-08-10 23:26:54 323
原创 A* & IDA*搜索
f(n)=g(n)+h(n)f(n)=g(n)+h(n)f(n)=g(n)+h(n)不但考虑前向代价,而且考虑后向代价。由于后向代价不可知,因而需要使用估价函数。题目HDU 6181求次短路,先反向SPFA准确求出h(n)h(n)h(n)准确的后向代价,再用A*搜索,第几次去到终点就是第几短路。#include<bits/stdc++.h>using namespace s...
2020-08-09 14:17:46 220 1
原创 线性基
解决的问题是1给一堆数可不可以异或出某个数xxx,2这堆数的最大异或和。原理: 把原序列AAA,转化成序列PPP,使得PiP_iPi的最高位为第iii位,使得AAA上的异或和的值域与PPP上一样。构造: 对于AAA中每新增加的一个数,都从他的最高位开始遍历PPP,若Pi≠0P_i\not =0Pi=0,则v=v⊗Piv=v\otimes P_iv=v⊗Pi,继续一直找到不为0的PiP_iPi,令Pi=vP_i=vPi=v。void ins(LL v){ for(int i=51;i&
2020-08-08 17:10:29 104
原创 matlab【杂】
基础循环for i = 1 : 5 %do somethingend函数function [sum] = addd(x,y)sum=x+y;end
2020-03-05 20:25:41 209
原创 Git使用
基操令当前目录或某子目录成为git仓库git init [folder]克隆远程仓库到本地git clone <repo>查看当前状态git status提交代码git add filegit commit -m 'remark'提交到远程仓库git push强制提交本地分支覆盖远程分支git push origin 远程分支名 --force向...
2020-02-29 19:02:24 96
原创 C++ lambda表达式
原理创建一个Lambda表达式,编译器自动生成一个匿名类对象基础Lambda表达式auto lambda = [] { cout<<"hello world"<<endl; };lambda();有参有返回值参数放在括号里,用 -> 指定返回类型,也可以不指定返回类型。auto add = [](int a,int b) -> int { ret...
2020-02-24 22:29:19 128
原创 python爬虫
库urllibrebs4函数解释由一个URL获取htmlhtml = urlopen(url).read().decode("utf-8")用html生成一个BeautiSoup对象soup = BeautifulSoup(html,"html.parser")find_all()用于搜索bs的文档树,返回所有符合条件的tag列表,可使用正则表达式。urls=soup.find...
2020-02-24 22:26:14 330
原创 python正则表达式(regular expression)
库import re函数print(re.search(r'do(es)?|did','does you'))匹配成功返回第一个成功的匹配;匹配失败返回None。print(re.findall(r"r[ua]n", "I run on the road where you ran before."))返回所有匹配成功的字符串列表。若没匹配成功返回空列表。print(re.su...
2020-02-23 00:16:35 93
原创 数学
给定n个点,确定一个多项式(最高次为n-1),并将k代入求值公式F(k)=∑i=1nyi∏i≠jk−xjxi−xjF(k) =\sum_{i=1}^n y_i \prod_{i =\not j} \frac{k-x_j}{x_i-x_j}F(k)=i=1∑nyii≠j∏xi−xjk−xj...
2019-08-09 01:59:04 164
原创 主席树
梦寐中的主席树!啊!原来好简单!大致知识权值线段树离散化每加一个点新建一条根到叶的路实现用NlogN空间存N个权值线段树查询[x,y],用第y棵树与第x-1棵树做差完事~Problem List洛谷P3834 主席树模板HDU 4417 Super Mario//Luo P3834#include<bits/stdc++.h>using namespac...
2019-07-18 22:09:45 119
原创 LCA
BB众所周知,LCA有N种方法。一种种慢慢学。。。方法1. 倍增求法2. 待续…Problem ListPOJ 1986//POJ 1986 lca模板#include<bits/stdc++.h>using namespace std;const int maxn=4e4+5;struct Edge{ int to; int len;};vector...
2019-07-18 16:41:58 77
原创 multimap
查找key_value为x的所有映射 multimap<string,string>::iterator a,b; a=m.equal_range(x).first; b=m.equal_range(x).second;迭代器范围 [ a, b ) 就是所有映射
2019-06-14 19:03:06 243
原创 头文件写法
跟正常写其实没有区别。只是加上个头尾防止多次编译就OK了#ifndef NAME_H#define NAME_Hyour code...#endifyep! 头文件!
2019-06-14 01:07:22 177
原创 寒训day9 初等数论
enen欢迎使用Markdown编辑器新的改变威尔逊定理功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Mar...
2019-06-09 23:56:53 210
原创 c++输入输出
今天CCSP发现竟然有文件是不能用字符串形式输入的,突然尴尬,如此大的数据量,%nX读进来的东西奇奇怪怪。emmm。。留下问题。先来个临时抱佛脚系列,保留两位小数咋neng啊!考试为什么不能带书c++输入输出流控制#include<iomanip>#include<iostream>#include<iomanip>using namespace st...
2019-05-18 23:53:30 193 2
转载 react native
Python2 3的installhttp://www.cnblogs.com/zhengyihan1216/p/6011640.html兼容https://www.cnblogs.com/AngesZhu/p/8378803.html
2019-04-10 22:24:26 102
原创 SZU寒训day1
SZU寒训day1introductionday1的主要内容是贪心、二分、三分、快速幂。本文纯属做个回顾。贪心贪心就是用当前最优来替代整体最优啦。但是不是所有地方都可以这么用,要自行证明当前最优时整体解必然最优。二分二分查找时间复杂度:O(logn) 当然很多时候还需要一个O(nlogn)的快排二分答案用于答案有一定范围?验证答案的函数是单调的?(比如求minimax或maxi...
2019-03-18 17:04:27 261 2
原创 寒训day5 图的存储 & SEARCH & 最短路
图的存储邻接矩阵一个简单粗暴的二维数组。一般只会在Floyd算法有用到,适合稠密图。G[u][v]=1; //表示u-&amp;gt;v有一条长为1的边链式前向星最常用到的存图方式,用静态链表前插元素的方式存储图。在Dijkstra算法与SPFA中我都用这种方式,适合稀疏图。邻接表emmm…大概是链表数组,第一维描述点,第二维记录点所对应的边。操作比较麻烦,还要动态开点。适合稀疏图。...
2019-03-17 23:34:55 115
用Visual C++ Debug.pptx
2019-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人