- 博客(106)
- 收藏
- 关注
原创 感知机学习算法的原始形式和对偶形式
原始形式和对偶形式是从两个方面去计算梯度下降的问题,两种方法找误分点的个数是一样的,区别在于,找到一个误分点时两者接下来的计算方法:(N为训练集大小,n为特征数量)(1)对偶形式:扫一遍N,计算每条数据在之前被加了几(ai)次(当η取1时,ai相当于第i组数据的梯度xiyi被加了几次,找到一个误分点后直接加上,而不是每次加),因为xixj已经被提前计算在Gram矩阵中,所以每次是O(1),那么扫一遍N就是O(N)。(2)原始形式:每次计算w*x,计算此内积复杂度为O(n)所以看下来,选择哪种计算
2020-11-16 21:51:56 960
原创 CF1176C Lose it!(简单题)
题目链接:http://codeforces.com/contest/1176/problem/C题意:https://www.luogu.com.cn/problem/CF1176C思路:把这6个数按顺序排成一排,传递一样,比如现在是15,就把8的个数-1,15的个数+1,就代表这一个序列传到了15了,最后只要统计42的个数就行了。代码:#include <bits/...
2020-03-19 22:27:45 468
原创 CF1168C And Reachability(位运算+dp)
题目链接:http://codeforces.com/problemset/problem/1168/C题意:https://www.luogu.com.cn/problem/CF1168C思路:最后一定时要跳到y,所以如果能达到那么x-y之间必然至少有一个k,使得[k]中的某一位是1且a[y]中的某一位是1.所以设dp[i][j]为排在i号元素的右边下标最小数的下标(这个数的第j位为...
2020-03-15 21:07:34 350
原创 java IO遇到的问题
一:File1.mkdir()可以创建一个文件夹,createNewFile()方法可以创建一个文件,在File file = new File("C:\\");情况下,可以mkdir(),不可以createNewFile(),只有在一个文件夹里面才能创建文件。...
2019-02-16 23:15:31 276
原创 java内部类的初始化
先创建一个外部类的对象,然后利用这个对象创建内部类对象。public class demo{ class node{ int x,y; } public static void main(String[] args){ demo out = new demo(); node in = out.new node(); }} ...
2018-12-18 10:35:35 1975
原创 简述java多态中的动态绑定
在很多java代码中会看到诸如Father f= new Son()的代码,这就使得f是Father类型的引用却指向了Son类型,失去了Son类型中额外的属性,只保存了Son从Father继承来的属性。那么为什么要这么做呢,为什么不直接Father f= new Father()呢?先看下面的代码:class q1{ public int x; public void f(){ ...
2018-12-05 17:57:57 667
原创 Codeforces 955C Sad powers(二分+思维)
题目链接:http://codeforces.com/contest/955/problem/C题意:q次查询,每次查询两个数,l和r,求l到r之间有多少个 x = a^p, (a > 0, p > 1)。思路:最基础的想法应该是对两个数开n次方根(n从2到开了没变化为止),现在想怎么优化,显然n到3时就最多只有1e6个数,所以n>=3最多也就只有不超过2e6个数,这...
2018-10-31 19:11:00 221
原创 CodeForces - 429B Working out(递推dp)
题目链接:http://codeforces.com/contest/429/problem/B题意:给n*m的矩阵,每个格子有个数,A从(1,1)出发只能向下或右走,终点为(n,m),B从(n,1)出发只能向上或右走,终点为(1,m)。两个人的速度不一样,走到的格子可以获的该格子的数,两人相遇的格子上的数两个人都不能拿。求A和B能拿到的数的总和的最大值。思路:对每个点递推求出它到4个人端...
2018-09-17 20:21:18 322
原创 HDU - 5976 Detachment(贪心思维)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5976题意:把一个数拆成若干个不相同的数之和,问这些数的乘积最大是多少。思路:一般要使乘积最大,那么先拆成两个不同数时,这两个数一定是接近n/2,然后每一个数又可以拆成两个数。但要这些数都不相同,所以最好的情况肯定是n等于从2开始一直到某个数k的连续和,如9=2+3+4,这样肯定是最优的,那么n...
2018-09-07 20:23:39 528
原创 ZOJ - 3629 Treasure Hunt IV (打表找规律)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3629题意:问某个区间内这样的数 n 有几个,n 满足: [n/1] +[n/2] + ... + [n/n] 是偶数思路:打出100的表就可以找出规律,发现0,4-8,16-24,36-48,64-80都是可以的,所以推出n^2~(n+1)^2 (n是偶...
2018-09-06 19:53:25 239
原创 HDU - 3001 Travelling (三进制状压)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3001题意:给一个图,求走遍所有点的最短路径,每个点最多可以走2次。思路:预处理出三进制下每种状态第i个城市走了几次=>mk[sta][i],然后初始化,开始可以到任何城市,所以把每个城市dp[只到了第i个城市的状态][i]=0,其他为INF,dp[sta][i]就是sta状态下最后到达第...
2018-08-28 23:41:33 219
原创 CodeForces - 771B Bear and Different Names (构造思维)
题目链接:http://codeforces.com/contest/771/problem/B题意:有n个士兵,下面有n-k+1个字符串,表示对i到i+k-1的士兵的判断,如果i到i+k-1的士兵没有名字重复的,那就是YES,否则NO,让你输出一个符合输入的字符串序列,名字要是第一个大写后面的小写。思路:是YES就直接输出不一样的,NO只要把第i+k-1个构造成和第i个一样就行了。代...
2018-08-26 22:03:09 248
原创 FZU - 2295 Human life(网络流)
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2295题意:有n种技能,技能有前置技能,学技能要花钱,有m种工作,工作有前置技能(需要学了这个技能才能做这份工作),工作可以挣钱,然后给出k,有k组工作冲突(即不能同时选)。思路:这种有前置要求的,有价值和消耗的一般都是最大权闭合子图。这个题直接按最大权闭合子图建图,但是这里有一个条件k,这里k很小,只...
2018-08-26 20:53:00 323
原创 POJ - 3311 Hie with the Pie (状压dp+最短路)
题目链接:http://poj.org/problem?id=3311题意:给你一个图,求从0点经过所有点再回到0点的最短路径。思路:1表示经过了这个点,0表示没经过,压缩成状态sta,dp[sta][i]表示现在是sta状态,此时到达点i的最短距离。那么dp[sta][i]=min( dp[sta][i] , dp[没经过i的状态][j] + dis[j][i] ) j点为中间点,像...
2018-08-25 23:28:04 204
原创 CodeForces - 776C Molly's Chemicals(思维)
题目链接:http://codeforces.com/contest/776/problem/C题意:给你n个数,求有多少个区间和是k的幂。思路:正常思路是枚举每个区间看有多少个是k的幂,但是这是O(n2)。所以换个思路:区间和最大也就1e14,区间和可以用前缀和sum[r]-sum[l]=k^x => sum[r]-k^x=sum[l]。左边枚举只需要O(n*(log2(1e1...
2018-08-25 21:47:32 236
原创 HDU - 4325 Flowers(离散化+简单线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4325题意:区间更新单点查询的线段树。思路:更新和查询的范围都是1e9,所以需要离散一下。查找离散后的值直接lower_bound二分查找。代码:#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define eps 1e-8...
2018-08-23 14:30:28 254
原创 HDU - 5925 Coconuts (离散化+dfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5925题意:给你一个R*C的格子图,并给你n个坏点,问这些坏点把这个图分成了多少块,并求出每个块的大小。思路:如果不看数据范围,这个题就是一个显然的dfs找联通块,但r和c都是1e9,n只有200,所以可以离散化一下。离散化之后就算最坏情况,即200个全都隔着一个放,也只有400*400。所以就...
2018-08-23 12:35:23 282
原创 CodeForces - 799C Fountains(二分)
题目链接:http://codeforces.com/contest/799/problem/C题意:给c,d两个类型的喷泉,你有c的货币c个,d的货币d个,每个类型的货币只能买对应类型的喷泉,每个喷泉有一个美丽值和价格,问你必须买两个喷泉的最大美丽值是多少。思路:先按价格升序排序,再用两个数组分别去存前缀美丽值的最大值,然后枚举每个位置二分剩下钱能获得的最大价值。当位置为i时,二分范围为...
2018-08-21 17:18:16 359
原创 HDU - 2586 How far away ?(lca tarjan离线)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586题意:lca模板题,树上两点之间距离。思路:先求出根节点到每个点的距离,然后求出每组查询的lca,ans=d[u]+d[v]-2*d[lca]就行了。代码:#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define ...
2018-08-14 21:34:49 177
原创 POJ - 3254 Corn Fields(状压dp)
题目链接:http://poj.org/problem?id=3254题意:农夫有一块地,被划分为m行n列大小相等的格子,其中一些格子是可以放牧的(用1标记),农夫可以在这些格子里放牛,其他格子则不能放牛(用0标记),并且要求不可以使相邻格子都有牛。现在输入数据给出这块地的大小及可否放牧的情况,求该农夫有多少种放牧方案可以选择思路:用二进制压缩记录每一行的状态,在通过上一行与这一行的可行状...
2018-08-07 11:36:43 219
原创 hihocoder1513 小Hi的烦恼(bitset用法)
题目链接:http://hihocoder.com/problemset/problem/1513思路:本来n^2的的暴力现在可以用bitset接近o(n)来做,这里bitset的主要用途是用排名来递推去求排名在自己前面的,比如某门课排名第二的就把排名第一的那一位置为1:bs[i][j].set(id[i-1][j]),然后计算第三名时把第二名的保存结果赋值给第三名的(此时就保存有第一名的数据...
2018-08-06 21:26:00 200
原创 POJ - 2778 DNA Sequence(ac自动机+矩阵快速幂)
题目链接:http://poj.org/problem?id=2778题意:只有四种字符的字符串(A, C, T , G),其中给出M种字符串不能出现,问为长度为n的字符串可以有多少种。思路:我觉得这篇大佬的博客讲的很好:https://blog.csdn.net/morgan_xww/article/details/7834801。总体思路就是用M个串建一个ac自动机,然后遍历所有t...
2018-08-03 14:57:29 279
原创 HDU - 3065 病毒侵袭持续中 (ac自动机)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3065思路:这里我主要是出了一个问题,目标串大写英文之外的符号就continue掉了,果然还是有问题这个数据就会出问题:2AABA@B输出A: 1所以要么开128,要么把无关项存为一个,如存到‘Z’+1。代码:#include <bits/stdc++...
2018-08-02 22:02:46 201
原创 hdu6333 多校第四场Problem B. Harvest of Apples(莫队)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6333题意:求C(n,0)+C(n,1)+...+C(n,m)的和思路:题解说可以莫队做,知道S(n,m)即可向附近项转化,想想也是,然后就写了下。(S(n,m)为前m项和)先列出递推式:S(n+1,m)=2*(n,m)-C(n,m) ; S(n-1,m)=S(n,m)+C(n-1,m);...
2018-08-02 10:26:24 170
原创 HYSBZ - 2038 小Z的袜子(hose)(莫队算法)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2038思路:直接莫队,模板题,注意longlong代码:#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define eps 1e-8#define fuck(x) cout<<"<"<&...
2018-07-31 22:17:52 279
原创 HDU - 4405 Aeroplane chess(概率dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4405、题目意思:数轴上有N+1个点(编号0~N),一个人玩游戏,从0出发,当到达N或大于N的点则游戏结束。每次行动掷骰子一次,骰子编号1-6,掷到多少就向前走几步,这个数轴上还有些特殊点,这些点类似飞行棋中的飞行点,只要到达这些点就可以直接飞到给定点。求总共投掷骰子次数的期望。思路:dp从后往...
2018-07-28 22:51:44 211
转载 数位dp学习整合
基础篇数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位……数的每一位就是数位啦!之所以要引入数位的概念完全就是为了dp。数位dp的实质就是换一...
2018-07-28 16:40:56 295
转载 概率dp学习整合
什么都不会的概率Dp。。。把一些好的资料收集起来慢慢看把。。。orz这些大神,蔑视我这zz垃圾转自:http://blog.csdn.net/zy691357966/article/details/46776199有关概率和期望问题的研究摘要在各类信息学竞赛中(尤其是ACM竞赛中)...
2018-07-28 16:38:56 959
原创 HDU - 3709 Balanced Number(数位dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709题目意思:给T组数据,每组数据给出一个x和y,求出[x,y]当中满足以其中一位为平衡点,满足在平衡点的左右两边的力矩大小一致。思路:因为每个数只可能有一个平衡点,且最大位数为18位,所以枚举每个位置为平衡点,dp记录一下就行了,注意当为0的情况,平衡点就有pos个,所以要减去(pos-1)...
2018-07-28 13:34:51 156
原创 HDU - 4389 X mod f(x)(数位dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4389题目意思:区间内找能整除它各位数字之和的数字的个数。思路:模数的范围就是0-81,直接枚举每个模数然后用dp存起来。代码:#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define eps 1e-8#define ...
2018-07-28 10:36:19 361
原创 HDU - 2089 不要62(数位dp,通过这个最基础的题来随便谈谈数位dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089题目意思:给定区间没有62和4的数有多少个思路:数位dp包括数位和dp。数位就是通过把数分解成一位一位的数来分析。那么数位dp的dp用来记忆什么东西呢?在一个区间中(比如【1,100000】),找没有62和4的数,一个一个检算很显然会有很多重复的部分(比如【101,110】和【...
2018-07-27 18:47:01 351
原创 HDU - 3586 Information Disturbing(树形dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3586题目意思:给根节点为1的一棵树,删除一些边使叶子节点都不能到达根节点,并且边权和不能大于m,使删除边的最大值最小,求最小值。思路:这个题如果想到二分答案就递推很简单了,二分出答案然后dp去验证。dp[x]表示将x与它管辖的叶子节点失去联系所需要的总代价。dp(x)+=min(dp(...
2018-07-25 10:49:58 434
原创 HDU - 1561 The more, The Better(树形dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561题目意思:中文题。思路:树上背包,当u=0(即在根节点时),往下dp可以不选自己,因为自己无价值。其他情况就必须选自己(因为不选自己就无法选儿子)。具体看代码代码:#include <bits/stdc++.h>#define INF 0x3f3f3f3f...
2018-07-24 17:29:53 204
原创 HDU - 2196 Computer(树形dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196题目意思:求每个点在这棵树中的最长距离思路:从一个点找最短路径,要么往儿子找,要么往父亲找,这就出现了两个递推方向。1.所以从根节点开始往下遍历,找出每个点往下找的最长距离,记录下来dp[x][0]。这里顺便记录下次长距离,下一步用dp[x][1]。2.往父亲方向找:如果发现父亲开...
2018-07-23 22:48:35 203
原创 HDU - 1520 Anniversary party(树形dp基础)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520题目意思:每个点有权值,父节点和子节点不可以同时选,求最大权值和思路:dp[x][0]表示x这个点不选,dp[x][1]表示这个点选,to代表子节点,然后再dfs自底向上遍历一遍。dp[x][0]+=max(dp[to][0],dp[to][1]);dp[x][1]+=dp[to...
2018-07-23 20:52:51 227
原创 CodeForces - 978F Mentors(思维)
题目链接:http://codeforces.com/problemset/problem/978/F题意:给n个数,k个争吵,求每个数的,在这个数列中有多少比它小且这两个数不争吵。思路:先升序排序,再lower_bound一下就知道有多少比它小,k个争吵只记录大数对小数的争吵,这样vector[i].size()就是比他小且争吵的数,那么此数的答案出来了。代码:#include <bits...
2018-06-14 14:52:56 392
原创 acm中浮点数的精度处理
看到一个很详细的博客:https://www.cnblogs.com/crazyacking/p/4668471.html保存一下,留着备用
2018-06-10 16:44:01 247
原创 manacher算法
突然看到这个算法,就在网上找了个写的不错的,贴一下:https://www.felix021.com/blog/read.php?2040然后是hihocoder1032的ac代码(模板)代码:#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define EPS 1e-7#define lson l, m, rt<<1#...
2018-05-09 15:28:29 190
原创 字典树的使用与应用
之前一直没怎么关心字符串的相关数据结构,最近心血来潮就想学一下,昨天看了下manacher,感觉只是一个思想而已,并不是很难,然后又想起以前只是听过的字典树,大概知道是个什么意思,一直没来亲手实现过,趁着中午没课就自己敲了一下,发现实现也不难,大概写了15min吧,就是感觉自己的代码有点难看2333,试写了一下hihocoder的hiho一下的题过了,还是挺高兴吧。字典树应用的话最基本最普遍的也就...
2018-05-09 15:12:40 280
原创 HDU - 2159 FATE(二维费用背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159思路:二维费用背包即为同时有两个约束条件,dp数组多加一维,循环也多加一维,其他的一样,具体看代码代码:#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define lson l, m, rt<<1#define rson...
2018-04-09 21:43:07 226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人