- 博客(42)
- 收藏
- 关注
原创 PaddlePaddle 《百度架构师手把手带你零基础实践深度学习》课程小结
课程一共21天,3周。主要使用的PaddlePaddle平台在aistudio上可以直接使用。每天运行项目会送12小时的GPU的使用时间。基本等于免费,在整个课程中使用都很方便。PaddlePaddle 也可以本地安装使用。doc第一周 主要内容是入门深度学习。介绍了下机器学习和深度学习,Python和Numpy的简单的处理方式。通过一个波士顿房价预测问题,简单了解了线性回归的实现,常用的梯度下降的原理。后面通过MNIST数据集的手写数字识别问题,了解了跟价复杂的神经网络模型,了解了线性模型的局限性。
2020-08-29 21:48:48
369
原创 MNIST手写数字识别实验(SVM)
实验接上回KNN的实验这是SVM的方法选择使用sklearn中已经实现的SVM的方法sklearn中SVM的相关参考资料:中文文档SVM的API详细了解怎么使用各个接口,参数怎么调整的话要去看官方的文档。中文文档介绍了一些使用经验。和上次的方法类似,我们先进行采样,进行数据量比较小的测试,方便看到效果。可以观察到每个参数都有默认的值,所以不调整参数,直接使用默认值测试。训练数据集每个数字采样100个,测试全部的测试集。这里也能看到和KNN的区别,测试的复杂度和训练集的大小关系不大。主要部分的
2020-06-22 18:17:36
2205
原创 MNIST手写数字识别实验(KNN)
数据集:MINST数据预处理参考了https://blog.youkuaiyun.com/simple_the_best/article/details/75267863处理出来有用的信息也就是28×2828 \times 2828×28的矩阵和Label信息。关于KNN的信息参考了:《机器学习实战》和《机器学习》(周志华)两本书KNN大致实现:...
2020-06-15 16:38:30
1685
原创 ZOJ 4126 Digit Mode
题目链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370521用类似数位dp的思想去枚举每个状态,记录每个数字的出现次数,当后面的数组可以任意填时,就枚举答案,枚举每个数字的在后面的出现次数,做背包转移。有个细节是要考虑前导零。设数字的长度为n,复杂度大概是n*10*O(dp转移的复杂度),,实际上还要除一...
2019-09-19 18:15:27
1464
原创 Codeforces 949C - Data Center Maintenance
题意: 一个有n个信息中心,m个客户,一天有h天。每个信息中心有有个工作时间,每个中心的工作时间可以加一个小时mod h,每个客户有两个中心可以使用,要求至少有一个中心的时间加一小时,使得每个客户任意时刻至少有一个信息中心可以使用。求改变数量最少的方案。保证有解。解题思路: 一个客户的两个中心u,v如果u加一小时和v时间相同,那么表示u如果变化,v也必须变化。我们连一条u->...
2018-03-14 21:11:29
475
原创 ZOJ Monthly, March 2018 - F And Another Data Structure Problem
题意:区间立方,区间求和。解题思路: 打表发现所有数立方取模操作48次后都会变为自己,即循环节为48. 线段树维护每个区间操作[0,47]次后的和为多少。 用了标记永久化,如果是整段更新,更新标记,否则处理子节点,pushup。代码:#include<bits/stdc++.h>#define lson (rt<<1)#define rson (rt&l...
2018-03-11 20:14:51
575
原创 Hackerrank Magic Cards
题目询问长度超过log(m)则一定能把所有数都选到,然后就可以n*m*log(m)处理了#include#include#include#include#includeusing namespace std;typedef long long ll;vectorv[1000010];ll dp[1000010][22],sum;ll m1[(1<<20)+10],m2[(1<
2017-08-24 20:37:17
498
原创 HDU 6181 Two Paths
答案为次短路或者最短路+和最短路相连或者最短路上的路径走两编,怎么一开始大家都会啊#include#include#include#include#includeusing namespace std;typedef long long ll;const int MAXN =(int)1e5+10;const ll INF =(ll)1e11;struct edge{ i
2017-08-24 20:15:45
492
原创 HDU 6171 Admiral(双向宽搜)
不过好像可以不用pair#include#include#include#include#include#includeusing namespace std;typedef long long ll;map ,int>mp1,mp2;int mp[10][10];struct zb{ int x,y; zb(){}zb(int _x,int _y){
2017-08-24 20:11:39
594
原创 HDU 6166 Senior Pan
多源最短路次短路,还要保证最短路和次短路的起点不同#include#include#include#include#includeusing namespace std;typedef long long ll;const int MAXN =(int)1e5+10;const ll INF =(ll)1e11;struct edge2{ int to,nxt;ll w;}e
2017-08-22 19:48:40
783
原创 HDU 6162 Ch’s gift
做法同树上第K大#include#include#include#include#includeusing namespace std;const int MAXN =(int)1e5+10;typedef long long ll;int vl[MAXN],n,m,vsz;vectorve;int root[MAXN],ls[MAXN*40],rs[MAXN*40],tot,
2017-08-22 19:44:50
762
原创 HDU 6125 Free from square
从1到n中取出k个数,它们的乘积不被某个除了1的完全平方数整除,求方案数很显然每个质数最多只能出现一次。大于sqrt(n)的质数在每个选取的数中只能取一次,小于sqrt(n)的质数最多有8个,就可以状压了。#include#include#include#includeusing namespace std;typedef long long ll;const int MO
2017-08-21 11:30:19
350
原创 SGU 507 Treediff (线段树合并)
求每个子树的叶子节点差值的最小值,合并是用右子树的最小值和左子树的最大值的差更新答案#include#include#include#include#includeusing namespace std;vectorve;const int MAXN=(int)5e4+10;const int INF =INT_MAX;int root[MAXN],tot,ls[MAXN*1
2017-08-20 19:12:50
484
原创 HDU 6136 Death Podracing(优先队列+循环链表)
#include#include#include#include#include#includeusing namespace std;const int inf =(int)1e9+7;struct node{ int d,v,i;}p[111111];int pre[111111],nxt[111111];bool cmp(const no
2017-08-17 18:22:23
446
原创 HDU 6133 Army Formations(线段树合并)
#include#include#include#include#includeusing namespace std;const int MAXN=(int)1e5+7;typedef long long ll;int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=g
2017-08-17 18:18:10
1093
原创 SPOJ Count on a tree(树上第K大)
题目主席树+LCA#include#include#include#include#includeusing namespace std;const int MAXN=(int)1e5+5;struct edge{ int to,nxt;}ed[MAXN<<1];int head[MAXN],cnt;void addedge(int u,int v){ ed[cnt
2017-08-14 19:32:55
305
原创 SPOJ D-query(区间不同的数的个数)
题目离线:树状数组#includeusing namespace std;typedef long long ll;const int MAXN=(int)3e4+10;struct node{ int l,r,idx;}qu[200010];bool cmp(const node &a,const node &b){ return a.r<b.r;}vectorv
2017-08-14 19:29:56
332
原创 51nod 1811 联通分量计数
竟然作死 lower_bound(s[u].begin(),s[u].end(),*it1); T的不明所以QAQ#include#include#include#include#include#includeusing namespace std;const int MAXN=(int)1e5+10;int read(){ int x=0,f=1;char ch=g
2017-08-06 15:04:17
668
原创 HDU 6070 Dirt Ratio
求最小的 区间数的个数/区间大小二分答案 ,线段树验证(题意感觉很迷)#include#include#include#include#define lson (rt<<1)#define rson (rt<<1|1)#define eps 1e-9using namespace std;const int MAXN=60000+10;double mi[MAXN*
2017-08-04 21:40:18
350
原创 HDU 6071 Lazy Running(同余最短路)
#include#include#include#include#include#includeusing namespace std;typedef long long ll;ll d[5];struct node{ int x,y;ll dis; node(){}node(int _x,int _y,ll _dis){x=_x;y=_y;dis=_dis;} bool
2017-08-04 21:21:49
635
原创 Maximal Tree Diameter
题目一颗树,去掉一条边再连上一条边,求最大的直径。记录最大值,次大值,次次大值?,然后DP#include#include#include#includeusing namespace std;const int maxn=(int)5e5+10;int dp[maxn][3],mark[maxn],mark2[maxn],zj[maxn],zjmark[maxn],zzj[m
2017-08-01 21:17:55
408
原创 Hackerrank Recurrent on a Tree
题目定义一条路径上节点值为x ,它的价值就为fib[x],求一棵树的所有路径的和搞一搞矩阵操作就可以DP了#include#include#include#includeusing namespace std;typedef long long ll;const ll MOD=(ll)1e9+7;const int MAXN=(int)2e5+10;struct Mat
2017-08-01 21:07:34
338
原创 HDU6035 Colorful Tree
计算所有路径上不同颜色数的和假设每种颜色对每条路径都有贡献,再减去对于每种颜色路径没有贡献的情况。O(nlogn):树形DP+线段树合并#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int MAXN=(int)
2017-07-25 18:06:53
1676
原创 HDU2665 Kth number(区间第K大)
#includeusing namespace std;const int MAXN =(int)1e5+5;struct node{ int vl,l,r;}T[MAXN*40];vectorv;int a[MAXN],cnt,root[MAXN];void insert(int l,int r,int &x,int y,int pos){ x=++cnt;T[x]
2017-07-18 21:12:40
417
原创 HDU - 4417 Super Mario (区间询问rank)
#includeusing namespace std;const int MAXN=(int)1e5+10;struct node{ int l,r,sum;}T[MAXN*40];int root[MAXN],a[MAXN],cnt;vectorv;void insert(int l,int r,int &x,int y,int pos){ x=++cnt;T[x]
2017-07-18 21:04:02
261
原创 SPOJ - QTREE6 Query on a tree VI(树链剖分+DP)
#includeusing namespace std;const int MAXN=(int)1e5+10;struct edge{ int to,nxt;}ed[MAXN<<1];int dp[MAXN][2],sum[MAXN],head[MAXN],cnt;int n,m;void addedge(int u,int v){ ed[cnt].to=v; ed[cnt].
2017-07-15 14:17:34
447
原创 BZOJ3261最大异或和(可持久化字典树)
#includeusing namespace std;const int MAXN=600000+10;int a[MAXN],b[MAXN];int tri[MAXN*25][2],sum[MAXN*25][2];int root[MAXN],cnt;void insert(int wei,int &x,int y,int vl){ if(wei<0)return;
2017-07-14 16:26:00
360
原创 Sam's Numbers(矩阵快速幂)
https://www.hackerrank.com/contests/hourrank-21/challenges/sams-numbers#includeusing namespace std;typedef long long ll;const int MOD = (int)1e9+9;ll s;int m,d,mm;struct Matrix{ ll mx[
2017-06-03 14:35:31
639
原创 占坑
J. Similar Subsequence For given sequence A = (a1, a2, … , an), a sequence S = (s1, s2, … , sn) has shape A if and only if: • si = min{si , si+1, … , sn} for all ai = 0; • si = max{si , si+1, … ,
2017-05-28 13:35:43
349
原创 「游族杯」上海市高校程序设计邀请赛暨华东师范大学第九届 ECNU Coder 程序设计竞赛 (重现) Problem D. 萝莉理论计算机科学家
http://acm.ecnu.edu.cn/problem/3259/官方题解:3259 萝莉理论计算机科学家本题需要使用前缀和和差分约束的知识。令 sumi=∑ij=1ai ,则给定约束等价于 ans=sumr−suml−1 ,对于每个约束从 l−1 向 r 连一条权为 ans 的边,反向连一条权为 −ans 的边,则如果存在 u 到 v 权为 c 的一条边则必有
2017-05-23 17:53:09
2078
原创 树链剖分总结
感觉树链剖分其实和DFS序差不多,都是对数进行一定的HASH,使得对树的操作可以在一段连续区间上操作。不同的是DFS序是针对一棵子树的操作,而树链剖分针对(U,V)上的路径。(感觉难点都是在区间操作上。。。。看来是我的线段树学太差了)树链剖分的代码:struct node{ int to,nxt; }ed[maxn<<1]; int head[maxn],cnt;
2017-03-15 21:48:55
379
原创 POJ - 3237 Tree
You are given a tree with N nodes. The tree’s nodes are numbered 1 through N and its edges are numbered 1 through N − 1. Each edge is associated with a weight. Then you are to execute a series of inst
2017-03-13 17:25:23
375
原创 HYSBZ - 2243 染色
给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“ 112221 ” 由3段组成:“ 11 ” 、“ 222 ” 和“ 1 ” 。请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包含n个正整数表示n个节
2017-03-13 17:24:03
609
原创 FZU - 2082
有n座城市,由n-1条路相连通,使得任意两座城市之间可达。每条路有过路费,要交过路费才能通过。每条路的过路费经常会更新,现问你,当前情况下,从城市a到城市b最少要花多少过路费。Input有多组样例,每组样例第一行输入两个正整数n,m(2 Output对于每个询问,输出一行,表示最少要花的过路费。Sample Input2 31 2 11 1 20 1 2
2017-03-13 17:22:32
442
原创 HYSBZ - 1036 树的统计Count
一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身Input 输入的第一
2017-03-13 17:20:44
399
原创 POJ - 2763 Housewife Wind
After their royal wedding, Jiajia and Wind hid away in XX Village, to enjoy their ordinary happy life. People in XX Village lived in beautiful huts. There are some pairs of huts connected by bidirecti
2017-03-13 17:18:51
486
原创 SPOJ Query on a tree
You are given a tree (an acyclic undirected connected graph) with N nodes, and edges numbered 1, 2, 3...N-1.We will ask you to perfrom some instructions of the following form:CHANGE i ti :
2017-03-13 17:16:30
325
原创 734F Anton and School
F. Anton and Schooltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAnton goes to school, his favorite less
2017-01-02 21:51:45
515
原创 CodeForces Good Bye 2016
A New Year and Hurry 告诉你选择是20:00 你有n任务 第i个任务花费时间为5*i 要在24:00前到达目的地 去目的地的时间为k 输出多能完成几个任务。B New Year and North Pole 看样例做题WA到爆炸。题意:起点在北极,给你n个指令,方向和路程,如果在南极只能接受向北的指令,运行中向南的指令不能越过南极,北极反之。问你n个指令是否合
2016-12-31 11:00:59
647
原创 CodeForces - 749C Voting 队列模拟
#include#include#includeusing namespace std;queueq[2];char str[200005];int main(){ int n; scanf("%d%*c",&n); gets(str+1); int num1,num2,d1,d2; num1=num2=d1=d2=0; for(int i=1;i<=n;i++){
2016-12-20 19:57:09
573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人