自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿狸的博客

求求你们说点什么吧QAQ

  • 博客(160)
  • 资源 (7)
  • 收藏
  • 关注

原创 omp算法流程例子

omp算法常用在求解y=Ax的问题中的系数矩阵x,在分类问题中y常作为测试集,A为训练集,该算法是为了解出x,且x尽可能含有多个0(l1范式)。

2021-10-20 14:42:29 776

原创 反向传播中矩阵求导问题

anx

2021-09-04 16:05:39 240

原创 万元博弈问题

问题:有一万元,一群人去竞拍,每次以100的整数倍提价,价高者得之,但是排名第二的人的出价会被没收。假设只有两个人参加这次竞拍,身上各有10万元,而且这两个人都是理性人,则出价多少就可以拍下这个1万元?思路:这个游戏一旦开始,双方为了让自己的损失减小那么会不断提价。例如第一个人开价100元竞价成功就会获得9900元,第二个人获得0元。第二个人为了获取更大的利益可能就会叫价200元,如果竞价成功......

2020-04-03 23:57:39 1476 3

原创 HDU - 6295 (暴力)

题意:给你n个点构成的树,每个点随机[1,n]的权值,问你树上存在多少回文串。思路:权值是随机[1,n]。考虑下概率大胆猜测一下回文串长度肯定非常短。暴力一下长度小于等于3的数量就行了。#include <bits/stdc++.h>using namespace std;typedef long long ll;vector<int> q[100005];...

2019-04-30 14:09:56 305

原创 浙江省赛C Array in the Pocket(贪心)

题意:给一个数组A,求一个B,使的B是A的全排列,且对任意位置a[i]!=a[j],求满足条件字典序最小的B数组。思路:我们从头开始,每次放最小的元素,判断所有元素剩余个数加上A数组当前位置后面所有元素剩余个数是否小于n-i即可。用set+优先队列瞎搞就行了。#include <bits/stdc++.h>using namespace std;typedef long ...

2019-04-28 15:46:47 1207

原创 CSU - 1808 (最短路)

题意:给你n个点,m条边,边类型不同转移需要额外花费,问1到n的最短路。思路:因为每个点可能有多种不同类型的边转移过来。因为类型太多我们无法二维记录当前点由那个边转移来的。所以我们可以枚举边。把每条边当成一个点,做最短路。#include <bits/stdc++.h>using namespace std;typedef long long ll;struct nod...

2019-04-26 14:47:31 134

原创 FZU - 2302 (斜率优化dp)

题意:把一个环分为k段,求如何分使的子段平方和最小。思路:设dp[i][k]表示前i个分为k段的最小值,易得dp[i][k]=min(dp[i][j],dp[i][k-1]+(sum[i]-sum[j-1])*(sum[i]-sum[j-1])).可以写出一个n^4的算法,但n为200,观察发现sum是递增的.设k1<k2。令F[k2][k1]表示即k2比k1要优。那么F[k2]...

2019-04-22 18:56:37 261

原创 FZU - 2295 (最大闭合权子图)

题意:给你n个技能,m个工作,k个互斥关系。每个技能需要花费,并且学习一个技能可能需要先学会其他技能。完成一个工作需要前置技能,完成一个工作你会获得赏金。有k对工作不能同时完成。问你能获得多少赏金。思路:因为我们完成一个工作需要一些前置技能,所以我们把工作向他所需要的前置技能建立一条边。每个技能向他的前置技能建一条边。那么我们可以发现。我们如果需要完成一个工作。那么该工作的所有后继边所连接的技...

2019-04-19 13:48:01 189

原创 fzu-2105(线段树区间更新)

题意:区间有三种二进制操作,区间中的值不超过16,然后查询区间和。因为每个数很小,所以区间内存在大量重复值,并且经过二进制操作后区间中相等的值会越来越多。我们只需要记录当前区间中的值是否相等即可。#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm...

2019-03-26 14:45:40 221

原创 hdu1695 bzoj2301(莫比乌斯反演)

hdu1695 题意求:思路:看到gcd求和的式子基本都是莫比乌斯反演。那么我们对原式除以k,就变成,我们设f[k]=(gcd(i,j)=k),F[x]=(k|gcd(i,j)).那么我们求得ans=f[1]。易得F[k]=(n/i)*(m/k)利用莫比乌斯第二条公式反演得到所以#include &lt;bits/stdc++.h&gt;using names...

2019-03-14 15:28:26 146

原创 两球体积并

求两个球体积的并,分三种情况,两球有交集,两球相离,包含情况。#include &lt;bits/stdc++.h&gt;using namespace std;int main(){ double pi=acos(-1.0); double x1,y1,z1,r1,x2,y2,z2,r2; cin&gt;&gt;x1&gt;&gt;y1&gt;&gt;z1&gt;&gt;r1...

2019-03-13 13:47:32 189

原创 hdu6278 (二分+主席树或者莫队+二分树状数组)

题意:查询区间l,r中最的大x,满足区间中大于等于x的的数量大于x。思路:二分答案,然后主席树查询第(r-l+1)-mid+1大和mid比较即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;int ran[100005],root[100005];struct node{ int...

2019-02-25 16:23:31 238

原创 codevs5339(反着dp)

【题目背景】小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞过喵星系的n个星球。【问题描述】星球分为2类:资源型和维修型。 1.资源型:含矿物质量a[i],若选择开采,则得到a[i]p的金钱,之后钻头损耗k%,即p=p(1-0.01k) 2.维修型:维护费用b[i],若选择维修,则支付b[i]p的金钱,之后钻头修复c%,即p=p(1+0.01c) ...

2019-02-24 11:12:51 132

原创 hdu4857(拓扑排序,反向建图)

逃生Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8445    Accepted Submission(s): 2423 Problem Description糟糕的事情发生啦,现在大家都忙着逃命。但是逃命的通道很窄,大...

2019-02-24 10:14:16 201

原创 codeforces 1117D Magic Gems(矩阵快速幂或杜教BM)

题意:一个魔法石可以分成m个普通石头,魔法石和普通石头占据的空间都是1,给你一个容量为n的容器,问你有多少种方案装满它。思路:很容易的递推式f[n]=f[n-1]+f[n-m]。类似于斐波那契数列,我们可以用矩阵快速幂。容易推出矩阵,快速幂写一下就行了。因为是线性递推式也可以用杜教BM,把前200项丢进去,答案就出来了。//杜教BM#include&lt;bits/stdc...

2019-02-23 11:22:09 640

原创 codeforce 1118C Palindromic Matrix(模拟)

题意:给你n*n个数,让你构造一个n*n的回文矩阵。如果没答案输出NO。思路:暴力构造一下,奇数填中间。代码稍长一些。#include &lt;bits/stdc++.h&gt;using namespace std;typedef long long ll;int m[1005][1005];int a[1005];int vis[1005];int main(){ in...

2019-02-22 15:24:42 299 1

原创 sscanf,scanf输入string类型

sscanf函数//取出前4个字符1234#include&lt;stdio.h&gt;#include&lt;string.h&gt;int main(){ char str[100]; sscanf("12345","%4s",str); printf("%s\n",str); return 0;}//字符串读入#include&lt;stdio.h&gt;..

2019-02-19 14:52:53 2182

原创 UVALive - 4625(dp+二分)

题目:给n个数,把它们分成m-1段,每段长度不超过d,且每段长度必须为偶数,让你最小化每段的半段权值。(注意是半段)思路:如果没有半段限制的话,我们可以贪心从左到右将可行的分段尽量拉长。但是加上半段限制后,我们贪心的话就错了。114 5 1018 11 9 96 3 11 96 67 31 12 58 68 98 76上面这组数据的答案是110,而从左到右的贪心得到的结果是12...

2019-01-19 11:00:28 143

原创 UVALive - 4794 (状压枚举子集)

题意:给你一块x*y的巧克力,n个面积a[i],每次只能横着或者竖着切一次,问你是否能切出来n块面积为a[i]的巧克力。思路:n为15,可以想到状压所有状态,然后记忆化搜索,设立状态d[x][s],sum[s]表示集合为s的巧克力面积和就是当前要切的巧克力的面积,x表示当前要切的巧克力的长和宽的最小值,那么我们就知道当前巧克力的长和宽,当前状态向下转移时有两种方式,一种是把长分为两部分,一种是...

2019-01-18 17:39:25 120

原创 UVA - 10859 (树形dp,一个变量维护两个值)

题意:给你一个森林,每个点可以放一台灯,这台灯会照亮和它相邻的边,然你求最少安装几台灯能照亮所有的边,并且保证灯的数量最少的情况下,被两台灯同时照亮的路尽可能多,输出灯的数量,同时被两台灯照亮的边数,被一台灯照亮的边数。思路:很明显的树形dp,我们先考虑让灯最少的情况。用dp[i][0]表示当前节点没有灯,并且他相邻的边都有灯照亮所需灯的最小值。用dp[i][1]表示当前节点有灯,并且他相邻的...

2019-01-18 11:58:59 178

原创 UVA - 11825 (状压+子集枚举)

题意:给你若干个集合,让你把这些集合做划分使的每个划分的并集是一个全集,问你最多能进行多少个划分。思路:首先了解下子集枚举的方法 for (int i = s; i; i = (i - 1) &amp;s)i - 1使得末尾最右边的1右边的0变成1,自己变成0,然后经过与运算把不存在的1删掉,原来是0的位无论如何也不会变成1,但是原来是1的位就形成了不断-1的模式。有了这...

2019-01-18 11:22:34 197

原创 hdu 5952(爆搜+剪枝)

题意:给n点m条边无向图,问你有多少个大小为s的完全子图。思路:因为100个点,所以可以爆搜每个点。但是直接爆搜会产生重复的问题,而且时限不够。观察发现对于4个点完全图我们搜索大小为3的子图会一次搜索,123,124,134,213,214,234......对于123和213这种情况,我们可以把图转换成有向图,编号小的点向编号大的点连边,记录下连通性即可。#include &lt;bi...

2018-12-04 18:40:56 176

原创 hdu 6231 (二分+尺取)

题意:给你一个n个数的数组,把这个数组中长度大于等于k的区间中第k大的数取出来组成一个新数组,问你这个新数组第m大是多少。可能有的人和我一样没去分开第k大和第k小的关系,比如数组[1,2,3,4,5],第2大就是4,第2小就是2.思路:我们可以用尺取算出第k大大于等于x的区间个数有多少个。当我们了解这个之后自然能想到二分答案。我们枚举区间右端点r,然后判断当前大于等于x的个数如果大于等...

2018-12-03 18:22:42 349

原创 hdu-6242(随机化计算几何)

题意:给你1e5个点,让你输出一个圆,满足至少n/2个点在圆上。思路:因为至少有n/2个点在圆上,我们可以随机三个点。那么这三个点外接圆满足条件的概率至少为1/2*1/2*1/2=1/8,那么多随机几次就好了。注意特判n小于等于4的情况。#include &lt;bits/stdc++.h&gt;using namespace std;struct Point { double x...

2018-12-03 15:29:29 338 1

原创 codeforces 1082G:G. Petya and Graph(最小割)

题意:给你一个n点m边的图,每个点有个权值,每条边有个权值,让你选择一个边集,然后最大化(边集的权值减去边集中包含的点集的权值)。思路:BZOJ3894:文理分科类似的题目,建立一个汇点T,每个点i向T连一条容量为a[i]的边,每条边拆成一个点,向这条边所连的两个点连一条容量为INF的边,建立源点S,向每个边拆成的点连一条容量为w的边。答案为sum(w)-最小割。#include&lt;...

2018-11-30 15:41:09 257

原创 codeforce 1077E (暴力)

题意:给你n个题目,每个题目的a[i]代表他所属的类别,举办若干场比赛,要求每一场比赛的题目数量是上一场题目数量的2倍,第一天的题目数量没有限制。求最大化的题目数量和。思路:刚开始想二分一下最后一天的题目,然后判断一下,发现n的范围2e5,a[i]最大1e9,2e5*32可以直接暴力。我们假设当前最后一天的题目为p,那么我们一直除以2,判断他最多能举办几天然后累加一下题目即可,注意只有第一天的...

2018-11-20 00:03:42 306

原创 1060D - Social Circles(贪心)

题意:n个客人坐成一个圈,每个人希望自己左边有l个空位置,右边有r个空位置。问你最少要几个位置。思路:因为一个人的右边是他右边人的左边,可以重叠,所以我们需要保证尽可能重叠。排下序即可。#include &lt;bits/stdc++.h&gt;using namespace std;typedef long long ll;int a[100005],b[100005];int...

2018-11-18 23:46:49 191

原创 1000C - Covered Points Count

题意:给你n个区间,问你被覆盖i次的点的个数有多少个,区间个数2e5,区间范围1e18。思路:这个题有个简化版本,就是把区间范围改成1e6的题目。那么我们对于区间[l,r],修改数组a[l]+=1,a[r+1]-=1;然后求个前缀和,每个点的值就是被覆盖了多少次。统计一下即可。这个题区间范围很大,我们可以把每个加一减一操作存起来,然后按照位置排序,可以发现第i个操作和第i+1个操作之间的区...

2018-11-17 23:20:53 200

原创 377A - Maze(搜索)

题意:给定连通图,让你把一k个'位置变成墙之后仍然是连通图。思路:因为给定的图是联通的,我们从某一个联通点开始dfs一下,根据dfs的性质,我们在递归树上倒着删点就行了。#include &lt;bits/stdc++.h&gt;using namespace std;char s[505][505];int k,vis[505][505];int dx[4]={0,0,1,-1...

2018-11-17 22:48:40 203 2

原创 Codeforce 431C - k-Tree(简单dp计数)

题意:一颗满二叉树。每个点有k条边,边的权值为1~k,问你从root出发有多少种方案路径综合为n,且至少有一条边权值大于等于于d。思路:我们定义状态dp[i][j][k]=1;   表示当前在第i层,当前权值和为j,k为1表示已经有大于等于k的边 ,k为0表示还没有大于等于k的边 。dp[0][0][0]=1,然后就是简单的转移了。#include &lt;bits/stdc++.h&g...

2018-11-17 13:37:55 282

原创 树分治-点分治入门

poj1741题意:给你一颗有边权的树,询问满足i点到j点距离不大于k的二元组个数。点分治的入门题目。前置技能:树的重心:即以这个点为根,那么所有的子树(不算整个树自身)的大小都不超过整个树大小的一半。在对树进行分治的时候可以避免N^2的极端复杂度(从退化链的一端出发),保证NlogN的复杂度。会求以当前树为根节点的子树中节点个数,会求以当前节点为根的子树中所有节点到当前节点的...

2018-09-27 18:50:57 147

原创 杜教BM(解决线性递推式的模板)

把递推式前几项扔进去就行了,至少扔个8项,然后mod根据题意改改,就能出结果了。太神奇了。#include&lt;bits/stdc++.h&gt;using namespace std;#define rep(i,a,n) for (int i=a;i&lt;n;i++)#define per(i,a,n) for (int i=n-1;i&gt;=a;i--)#define pb...

2018-09-18 20:20:56 460

原创 hdu 5919(主席树)

思路:主席树的模板题目,我们倒着插入题目就变成了,查询区间不同数的个数k,然后查询区间第(k+1)/2大。写了一下午,发现初始化写错了,初始化的cnt应该是1,还有数组大小要开36倍左右,我刚开始开的20倍一直tle。#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;algorithm&gt;;const int...

2018-09-14 19:15:41 359

原创 hdu 5920(贪心+模拟大数)

思路:当前数位数为偶数时,我们可以取它的前一半,然后减一翻,在翻转复制一下,就可以去掉前(n/2)-1位。比如234578,取234-1=233.然后翻转复制一下位233332,然后用234578-233332即可。如果位数为奇数时,类似于上面的情况。23456,我们取234-1=233,然后取23456的前n/2位翻转后复制到后面,就变成23332,然后用23456-23332即可。如此...

2018-09-13 15:34:54 186

原创 2018 沈阳网络赛E The cake is a lie(最大圆覆盖)

完全是个板子题,二分半径套一个套一个最大圆覆盖的板子即可。#include &lt;bits/stdc++.h&gt;using namespace std;#define Mn 305const double eps = 1e-7;const double pi = acos(-1.0);#define sqr(x) ((x) * (x))struct Point{ do...

2018-09-08 22:55:53 376

原创 2018 icpc南京网络赛G(线段树)

思路:因为只有1e5的数据。我们可以模拟一下所有情况全算出来,把答案存下来即可。但会一遍一遍的遍历超时,我们可以优化遍历的方式,因为只有1e5的房间,我们每次找的房间都是小于当前新灯泡数且最前面的房间。这个查找用一颗线段树既可以解决。我们每次找到一个满足的房间就让当前灯泡是减去这个房间的灯泡数,然后让当前房间的灯泡数设成无穷大,更新一下线段树即可。#include &lt;iostrea...

2018-09-03 19:46:31 474

原创 HDU - 5934 (缩点)

题意:每个炸弹都有一个花费,一个炸弹爆炸,在他的爆炸范围内炸弹都会爆炸,让你花费最少让所有的炸弹爆炸。思路:1000个点可以n方判断两个炸弹之间的关系。如果A爆炸会导致B爆炸,那么A向B连一条边。可以发现一个强连通分量里的炸弹只要一个爆炸就可以了,所以先缩点。因为入度为0的点不能被其他炸弹引爆。所以我们在入度为0的点中选择一个花费最小的即可。#include &lt;iostream&g...

2018-09-03 18:29:56 150

原创 Wannafly挑战赛23 (SG函数)

链接:https://www.nowcoder.com/acm/contest/161/B来源:牛客网 题目描述小N和小O在玩游戏。他们面前放了n堆石子,第i堆石子一开始有ci颗石头。他们轮流从某堆石子中取石子,不能不取。最后无法操作的人就输了这个游戏。但他们觉得这样玩太无聊了,更新了一下规则。具体是这样的:对于一堆有恰好m颗石子的石头堆,假如一个人要从这堆石子中取石子,设他要取石子数...

2018-08-31 22:35:58 175

原创 hdu2665 spoj3267 (主席树入门)

主席树实质相当于每个前缀建立一颗线段树,因为相邻的前缀相比较只是差了一个数字,所以可以利用上一个前缀的线段树的有用信息来构成当前缀的线段树。主席树查询静态区间第k大。#include&lt;stdio.h&gt;#include&lt;algorithm&gt;#define N 100010using namespace std;struct TR{ int sum,l,r;...

2018-08-30 12:03:19 115

原创 BZOJ 1086 王室联邦(树分块)

题意:给你一棵树,让你把一棵树分成若干块,没块必须是联通的,且大小为b-3b.思路:树分块的入门操作。我们用建立一个栈每次访问完的节点入栈,继续搜索子树,如果发现当前点的子树中节点数大于b把子树出栈,划为一个块,最后统计一下栈中剩下的节点即可。#include &lt;vector&gt;#include &lt;string.h&gt;#include &lt;iostream&g...

2018-08-28 17:00:51 194

2019第十届蓝桥杯JavaB组题目

2019第十届蓝桥杯JavaB组题目。

2019-03-24

oracle下载方法

oracle数据库下载方法,傻瓜式视频教学,一键官网下载。

2019-02-21

javaee网盘项目

javaee用servlet写的网盘项目,实现了增删改查,用的oracle数据库,前端用的bootstrap和layui,压缩包里面有nacicat备份的数据库。主要功能有登陆注册,上传文件,下载文件,搜索文件,修改用户信息。文件排行榜等。

2019-02-21

计算机操作系统期末考试复习

非常全面的考试复习资料,适合大多数高校期末考试复习。

2018-08-13

数据库考试题库

数据库期末考试题库,可以用来复习自测使用大学生期末考试。

2018-06-13

2018年4月1日省赛第九届蓝桥杯真题Java(B组)

2018年4月1日省赛第九届蓝桥杯真题Java(B组)今天上午的比赛!

2018-04-01

2018年4月1日省赛第九届蓝桥杯真题C/C++(B组)

2018年4月1日省赛第九届蓝桥杯真题C/C++(B组)今天上午的比赛!

2018-04-01

空空如也

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

TA关注的人

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