ACM常用定理

ACM常用算法模版(常用函数与STL、重要公式与定理) 如果格子[i, j]有元素a[i, j],则[i+1, j]要么没有元素, 要么a[i+1, j] > a[i, j]从浙大同学那偷的acm的一些板子,与大家分享。priority_queue 优先队列, empty(), top(), pop(), push()queue 队列, empty(), front(), pop(), push()stack 栈, empty(), top(), pop(), push()sort() 排序, O(N log(N)) 阅读详情

定理1.费马小定理

:费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且gcd(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1。

定理2.模乘法得逆

:对于两个整数a,b,a/b是整数,且a和b除以mod得余数分别为aa,bb,则a/b除以mod得余数为(aa*bb^(-1))%mod,其中b^(-1)是b的逆.

(当(a*b)%mod=1是,我们称a和b互为乘法的逆,即a=b^(-1),b=a^(-1))

相关代码:

  1. void gcd(LL a,LL b,LL &d,LL &x,LL &y)//拓展欧几里得定理,求ax+by=gcd(a,b)的一组解  
  2. {  
  3.     if(!b){d=a;x=1;y=0;}  
  4.     else{gcd(b,a%b,d,y,x);y-=x*(a/b);}  
  5. }  
  6. LL inv(LL a,LL n)//求得a在模n条件下的逆  
  7. {  
  8.    LL d,x,y;  
  9.    gcd(a,n,d,x,y);  
  10.    return d==1?(x+n)%n:-1;  
  11. }  

推论1:mod为质数,由费马小定理得b^(mod-1)%mod=1-->(b*b^(mod-2))%mod=-1,所以b的逆=b^(mod-2).

对于整数a,b(b<mod),且a/b是整数,则a/b除以mod得余数是(a%mod*b^(-1))%mod-->(a%mod*b^(mod-2))%mod.可用于求分数形式整数的模


定理3.SG定理

组合游戏:一个状态是必败状态当且仅当它的所有后继都是必败状态;一个状态是必胜条件当且仅当它至少有一个后继是必败状态

    组合游戏的和。假设有k个组合游戏G1,G2,...Gk,可以定义一个新游戏,在每个回合中,
当前游戏可以任选一个子游戏Gi进行一次合法操作,而让其他游戏的局面保持不变,不鞥操作的游戏者输。
这个新游戏称为G1,G2,...,G3的和


    SG函数和SG定理。对于任意状态x,定义SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S)表示不在S内的最小非负
整数。SG(x)当且仅当x为必败状态.游戏和的SG函数SG函数等于各子游戏SG函数的Nim和。


    Bouton定理:状态(x1,x2,x3)为必败状态当且仅当x1^x2^x3=0,称为Nim和。可看做SG定理在Nim游戏中的运用

例子:UVALive/LA 5059+UVA 10561+UVA 12293


定理4.pick定理

给定一个顶点均为整点(即坐标为整数的点)的简单多边形,其面积A和内部格点数目I与边上格点数目B的关系式:A=I+B/2-1.


定理5.Lucas定理

     A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。
    则组合数C(A,B)与C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0])  mod p同余
    即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p) 

例子:poj 3146

定理6.欧拉定理

a^(phi(n))≡1(mod n) (a,n互质), phi(n)是欧拉函数,表示不超过n的且与n互质的数的个数。

例子:hdu3307


定理7.五边形数定理



可用于生成函数(母函数):

(1-x-x^2+x^5+x^7-x^12...)(1+p(1)x+p(2)x^2+p(3)x^3)=1;(整数划分的生成函数为1/∏(1-x^i))

得到p(n)=p(n-1)+p(n-2)-p(n-5)-p(n-7)+...



定理8.柯尼希定理(最小顶点覆盖,二分图匹配,匈牙利算法)

资料源自:http://zh.wikipedia.org/wiki/%E8%A6%86%E7%9B%96_(%E5%9B%BE%E8%AE%BA)

http://baike.baidu.com/link?url=5gWVO-A8T_AUGw21_P85QiijE7T934ecsDq-50f8SMh02Vpd1tIuTSgjD4cS922u

     图G的顶点覆盖是一个顶点集合V,使得G中的每一条边都接触V中的至少一个顶点。我们称集合V覆盖了G的边。最小顶点覆盖是用最少的顶点来覆盖所有的边。顶点覆盖数\tau是最小顶点覆盖的大小。
     二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i ∈A,j ∈ B),则称图G为一个二分图。
     无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。
     匈牙利算法:它是一种用增广路径求二分图最大匹配的算法。

      http://baike.baidu.com/link?url=1U3pNCTlWDbUG1A-YexAqNo_D_1rpFEKBO7IBcjq7d3_MY7MwhCAxeF5MnXW4O-5


 
  1. int find(int cur)  //判断增广路是否存在  
  2. {    
  3.     int i, k;    
  4.     for(i = 0; i < map[cur].size(); i++)    
  5.     {    
  6.         k = map[cur][i];    
  7.         if(!flag[k])    
  8.         {    
  9.             flag[k] = true;    
  10.             if(pre[k] == -1 || find(pre[k]))    
  11.             {    
  12.                 pre[k] = cur;    
  13.                 return 1;    
  14.             }    
  15.         }    
  16.     }    
  17.     return 0;    
  18. }   

  1. for(i = 0; i < n; i++)    
  2.         {    
  3.             memset(flag, false, sizeof(flag));    
  4.             sum += find(i);    
  5.         }    

sum就是最大匹配值。

柯尼希定理是这样一个定理:二分图最小点覆盖的点数=最大匹配数。

poj 3041;poj1422,2239,1422,1325,1719,2594,2195,2446,1904,3342,3216,3020

一个PXP的有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,
且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,
那么恰好可以经过图中的每个顶点一次且仅一次);如果不考虑图中存在回路,那么每条路径就是一个弱连通子集

最小路径覆盖的边数=顶点数n-最大匹配数

最大独立集:在二分图G中,点集合M,M中的各个点都不相连,则称M为G的独立集。M中点个数最多的称为最大独立集

最大独立集=最小路径覆盖=n-最大匹配数

例:(1,3),(3,4),(2,3),对于无向图,可以得到两种二分图:

1.(1-3,4-3,2-3),求得最大匹配为m=1,即为最小顶点覆盖数,最大独立集=n-m

2.(1-3,3-1,4-3,3-4,2-3,3-2),求得最大匹配m=2,即为最小顶点覆盖数*2,最大独立集=n-m/2

有向图:

(1-3,2-3,3-4),最大匹配为m=2,最小路径覆盖=n-m;

ACM中常用的求组合数的三种方法 文章目录组合数学求组合数的三种方法求组合数1求组合数2求组合数3原理:卢卡斯定理 组合数学 求组合数的三种方法 求组合数1 /* 利用Cab = Ca-1 b-1 + Ca-1 b 公式递推 时间复杂度O(ab) */ #include <iostream> #include <cmath> using namespace std; const int N = 2500,mod = 1e9+7; int c[N][N]; int n,a,b; void ini 阅读详情

相关推荐

ACM基础模板实战拆解:快读快写、快速幂与Lucas定理避坑指南

在算法竞赛与限时编程中,快速幂、组合数取模和快读快写是高频基础组件。快速幂通过二进制拆分指数将复杂度降至O(log b),组合数取模则依赖费马小定理求逆元,而快读快写利用getchar/putchar绕过流缓冲提升IO效率。这些技术能显著降低TLE风险,广泛应用于ACM、华为OD机试等场景。本文围绕一份ACM基础模板,深入拆解宏定义、快速幂、Lucas定理等核心函数的参数边界与常见翻车点,并给出对拍验证与边界测试方法,帮助选手构建可复用的代码骨架。

weixin_42601547的博客 8

定理集锦1

定理1.费马小定理:费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且gcd(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1。 定理2.模乘法得逆:对于两个整数a,b,a/b是整数,且a和b除以mod得余数分别为aa,bb,则a/b除以mod得余数为(aa*bb^(-1))%mod,其中b^(-1)

冷月之殇 1414

嵌入式常用通信协议 #概述

嵌入式通信协议

AFK3060的博客 2116

ACM常用数学公式

转载:https://blog.youkuaiyun.com/qq_26891045/article/details/51490709 ACM常用数学公式汇总1.扇形     1.扇形面积:S=1/2×弧长×半径,S扇=(n/360)πR²2.三角函数          1.定义    基本函数英文缩写表达式语言描述正弦函数sinesina/c∠A的对边比斜边余弦函数cosinecosb/c∠A的邻边比斜边正...

一条咸鱼 2594

飞牛Docker部署Zerotier后无法访问?三步搞定SSH权限配置!

本文详细解析了在飞牛NAS上通过Docker部署Zerotier后无法访问的常见问题及解决方案。重点介绍了SSH权限配置、tun模块加载和Docker容器权限设置等关键步骤,帮助用户快速解决虚拟网络接口的权限问题,确保Zerotier节点间的正常通信。

qq_27496129的博客 792

【技术解析】Point-NeRF:如何通过点云优化加速神经辐射场渲染

本文深入解析了Point-NeRF技术,它通过引入3D点云作为几何先验,有效解决了传统神经辐射场渲染速度慢的痛点。该方法利用神经点云构建局部辐射场,结合点剪枝与生长策略进行动态优化,在保证高渲染质量的同时,实现了高达30倍的训练加速,为高效3D场景重建提供了新范式。

weixin_29159127的博客 267

数论在ACM中的几个常见应用结论

1、欧几里得算法(辗转相除法): 关键在于恒等式gcd(a, b) = gcd(b, a mod b),边界条件为gcd(a, 0) = a,程序如下: int gcd(int a, int b){      return b == 0 ? a : gcd(b, a % b); } 虽然是递归,但是保证不会栈溢出。可以证明,gcd函数的递归层数不超过4.785 * l

xiaoyi_71828的博客 820

Python爬虫实战:利用最新技术爬取抖音话题挑战视频

本文将详细介绍如何使用Python最新技术栈构建一个高效的抖音话题挑战视频爬虫。我们将从环境配置开始,逐步讲解请求模拟、数据解析、反反爬策略、数据存储等关键环节,并提供完整的代码实现。本文适合有一定Python基础的开发者学习高级网络爬虫技术。关键词:Python爬虫、抖音API、话题挑战、视频爬取、反反爬本文详细介绍了如何使用Python最新技术栈构建抖音话题挑战视频爬虫。我们从基础请求开始,逐步实现了数据解析、反反爬策略、数据存储等核心功能,并探讨了分布式和增量爬取等高级主题。更智能的反反爬策略。

2201_76125261的博客 1744

ACM-ICPC 数论部分总结

数论最经典的当然是素数的判定等等吧! 素数: 埃筛--------------埃拉托斯特尼筛法,或者叫埃氏筛法 原理:如果找到一个质数,那么这个质数的倍数都不是质数 #include<cstdio> const int N = 100000 + 5; bool prime[N]; void init(){ for(int i = 2; i < N; i ++) prime[i] = true; for(int i = 2; i*i < N; i +.

m0_57006708的博客 2025

Qt | 开发过程中总结的经验

关于如何判断自己的Qt库是多少位,有个误区就是很多人要么看成了QtCreator的关于信息中列出的位数,要么以为自己是64位的系统就认为是64位的Qt,最终要在Qt构建套件中查看具体位数,大概从Qt5.14开始基本上很少提供32位的库,尤其是Qt6.0以后基本上默认就是只有64位的库了,这也是顺应时代潮流,毕竟不久的将来(个人预计2030年以前)基本上32位的系统占比不超过1%,放心大胆的用64位的库吧,抛弃烦人的32位以及XP系统。Qt常用类的头文件的函数看完学完使用一遍并加以融会贯通,月薪30K起步。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 490

第7章: MMU notifier在AMD GPU驱动中的应用

AMD GPU驱动利用MMU Interval Notifier机制实现共享虚拟内存(SVM)和异构内存管理(HMM)。通过分析AMDGPU内存架构(VRAM、GTT、Userptr)和Buffer Object设计,重点探讨了Userptr零拷贝机制如何依赖MMU notifier保持CPU/GPU内存一致性。HMM框架进一步实现统一地址空间和透明页面迁移,AMDGPU通过amdgpu_hmm.c实现两种invalidate回调(GFX和HSA模式),处理不同场景下的内存失效同步问题。

图形/计算GPU的驱动与虚拟化技术分享园地 2465

ACM-博弈专题

基本解题思路 (1)(1)(1) 寻找必胜态与必败态之间的关系 (2)(2)(2) 对称建立优势 Nim博弈 问题原型: 给出n堆石子的数量,两人轮流从一堆中取出至少一个石子,先取完者获胜。 结论: 设NNN为先手必胜态,PPP为后手必胜态。 当a1⊕ a2⊕⋯⊕ai⊕⋯⊕an=0a_1\oplus\ a_2\oplus\dots\oplus a_i\oplus\dots\oplu...

月凉酱的博客 533

“华为杯”研究生数学建模竞赛2020年-【华为杯】E题:能见度估计与预测(附获奖论文及python代码实现)

因此,题目要求借助机场的 AMOS 观测数据中的气压、温度、湿度、风速等气象因子,达到 100% 时,空气中的水汽便会凝结成细微的水滴悬浮于空中,使地面水平的能见度下。传统的仪器探测法成本高,覆盖范围小,而基于视频的能见度检测能弥补仪器测量的不足之处,但是预测精度不高,需要进一步改。象条件,空气质量的影响,其中较为关键的影响因子是雾和霾。性过强,激光能见度仪的检测方法更为可信,但是激光能见度仪覆盖的检测范围小,安装。覆盖的交通视频路况数据间接计算得到能见度数值的方法,此方法成本较低,覆盖范围广。

getusushu的博客 2282

ACM中一些常用数学公式定理的简单推理及证明

文章目录更相减损术 更相减损术 gcd(a,b)=gcd(a,b−a)gcd(a,b)=gcd(a,b-a)gcd(a,b)=gcd(a,b−a) 证明:证明:证明: 若有gcd(a,b)=dgcd(a,b)=dgcd(a,b)=d,则有a=k1d, b=k2da=k_1d,\ b=k_2da=k1​d, b=k2​d,且k1k_1k1​与k2k_2k2​一定互质,即gcd(k1,k2)=1gcd(k_1,k_2)=1gcd(k1​,k2​)=1。 设gcd(a,b−1)=xdgcd

HeartWine的博客 1243

(9-2)离线强化学习:离线强化学习的主流方法

本文介绍了三种离线强化学习的主流约束策略优化方法:BCQ、CQL和Fisher-BRC,并通过CartPole环境进行性能比较。BCQ利用生成模型约束动作选择并引入扰动网络;CQL通过正则化Q值抑制对未见状态-动作对的高估;Fisher-BRC使用Fisher散度正则化策略分布。实验结果表明,三种方法各有优势,其中CQL表现最为稳定。文章还指出,为获得更好的性能,需要更大的数据集和更长的训练轮次。这些方法通过限制策略优化范围,有效提高了离线强化学习的稳定性和泛化能力。

码农三叔 1537

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

算法中国余数定理C语言,常用算法 c语言表示 acm必备

常用算法 c语言表示 acm必备常用算法 c语言表示 acm必备ACM 预定函数ACM特别编辑by bjtu3.模取幂运算 4.求解模线性方程5.求解模线性方程组(中国余数定理) 6.筛法素数产生器数学问题:1.精度计算——大数阶乘2.精度计算——乘法(大数乘小数) 3.精度计算——乘法(大数乘大数) 4.精度计算——加法 5.精度计算——减法 6.任意进制转换7.最大公约数、最小公倍数 8....

weixin_39828960的博客 313

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)

如果b与c互素,则(a/b)%c=a*b^((c)-1)%c其中是欧拉函数。或者(a/b)%c=a*b^(c-2)%c 如果b与c不互素,则(a/b)%c=(a%bc)/b 对于b与c互素和不互素都有(a/b)%c=(a%bc)/b成立 乘法逆元用扩展欧几里得定理: 例题:ZOJ - 3609 题干: The modular modular multiplicative inverse...

xuanweiace的博客 2133

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ACM公式汇总

 ACM常用数学公式汇总1.扇形     1.扇形面积:S=1/2×弧长×半径,S扇=(n/360)πR²2.三角函数          1.定义    基本函数英文缩写表达式语言描述正弦函数sinesina/c∠A的对边比斜边余弦函数cosinecosb/c∠A的邻边比斜边正切函数tangenttana/b∠A的对边比邻边余切函数cotangentcotb/a∠A的邻边比对边正割函数secant...

夜雨声烦烦不烦 481

数论--费马小定理求逆元

int Fermat_inverse(int a,int mod) { int res = 1; for(int i = 1;i < mod - 1;++i) res *= a; return res; } //如果p为大素数,我们可以用快速幂求解,时间复杂度为: long long fast_pow_mod(long long a,long long b,l...

日拱一卒,功不唐捐 2963

ACM数学常用知识

ACM数学常用知识 最大公约数,最小公倍数 int gcd(int x,int y) { int z=y; while(x%y!=0) { z=x%y; x=y; y=z; } return z; } int lcm(int x,int y) { return x*y/gcd(x,y); } int gcd(int x,int y) { int z=y; while(x%y!=0) { z=x%y; x

xingzi201的博客 522

数论--中国剩余定理模板

void exgcd(int a,int b,int &x,int &y) { if(b==0){ x=1; y=0; return;} exgcd(b,a%b,x,y); int tp=x; x=y; y=tp-a/b*y; } int china() { int ans=0,lcm=1,x,y; for(int i=1;i&lt...

日拱一卒,功不唐捐 2874

ACM-组合数学完全总结(知识点+模板)

目录 排列 1.1排列数 1.2圆排序 1.3不尽相异元素全排列 1.4多重集的排列 组合 2.1组合数 2.2重复组合数 2.3多重组合数 2.4常用组合数公式 2.5组合数取模(模板) 常用公式及定理 3.1二项式定理 3.2鸽巢原理 3.3常见恒等式 3.4帕斯卡恒等式 3.5卢卡斯定理推论 3.6容斥原理 3.7错排问题 ...

Ogmx的博客 2万+

ACM数论模板

取模运算 编程竞赛有相当一部分题目的数据结果过于庞大,往往需要对结果取模。例如(a*b) % p,若a*b的结果存储不了,再去取模,结果显然不对,为了防止溢出,可以分别对a取模,b取模,再求积取模。 取模运算公式: 加法:(a +b) % p = (a%p + b%p) % p 减法:(a - b) % p = ((a%p - b%...

qq_42024195的博客 912

ACM JAVA+C常用方法模板

//测试时间!!!!!! 放开头:long star=System.currentTimeMillis(); 放结尾:System.err.println(System.currentTimeMillis()-star);   //JAVA将字符串拆分放入数租.(截取字符串:截取第i个位置到第i+1个位置的字符串) String a = "abc"; String[] arr = ne

乌合 1943

整理一些ACM基础数学算法模板

ACM训练整理的一些内容,,不知道放哪 就丢这吧 欧拉函数模板 int r[] = new int [MAXN]; r[1] = 1; for(int i = 2; i < MAXN; i++) r[i] = i; ...

weixin_33815613的博客 140
上一篇: c++primer学习笔记(3)-Compound Types(pointers and references) and const Qualifier.
下一篇: hdu 4374 One hundred layer 单调队列优化dp
吃掉吃掉
博客等级 码龄12年 7粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值