
算法
Ginray
这个作者很懒,什么都没留下…
展开
-
2019.3.31网易游戏数据挖掘(算法US)笔试编程题第二题题解---HMM
因为考试中没有截图下来,所有只能说个大致的题意。第一题是一题SQL语句转编程语言。如果拿了70分的话应该是没考虑group by 和之后的去重。如果拿了80分的话是没有考虑到需要size>0。第二题其实是一题HMM,通过HMM前向算法就可以做出来。前向算法本质上属于动态规划的算法,也可以用DP去做。第三题要自己根据题目给出的公式计算梯度。第二题的思路其实和刘...原创 2019-04-01 13:51:58 · 1162 阅读 · 0 评论 -
Codeforces Round #383 (Div. 2) C. Arpa's loud Owf and Mehrdad's evil plan
C. Arpa's loud Owf and Mehrdad's evil plantime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAs you have noticed, there原创 2016-12-07 12:25:35 · 869 阅读 · 0 评论 -
51nod算法马拉松20 C、战忽局的手段
战忽局的手段基准时间限制:2 秒 空间限制:262144 KB 分值: 80众所周知,有一个神秘的组织——战忽局,在暗中保护着我们。在局中任职的官员都有着极强的忽悠技巧,不只能用预言,还能用往事忽悠人。如今某外星间谍已经获得了战忽局曾经参与的n次事件的资料,局座发现了这件事,于是决定再次用忽悠来保证战忽局的安全。局座将发表m次演讲,每一天他都会从原创 2016-12-02 16:11:39 · 891 阅读 · 0 评论 -
hdu 5017 Ellipsoid 模拟退火
EllipsoidTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2228 Accepted Submission(s): 825Special JudgeProblem DescriptionGiven原创 2016-09-28 22:27:06 · 526 阅读 · 0 评论 -
hdu 5875 2016 ACM/ICPC Asia Regional Dalian Online 1008
FunctionTime Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1427 Accepted Submission(s): 126Problem DescriptionThe shorter, the sim原创 2016-09-10 19:37:25 · 1984 阅读 · 0 评论 -
Educational Codeforces Round 16 C. Magic Odd Square
E. Generate a Stringtime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputzscoder wants to generate an input file for some原创 2016-09-05 21:47:47 · 445 阅读 · 0 评论 -
Codeforces Round #361 (Div. 2) C - Mike and Chocolate Thieves
C. Mike and Chocolate Thievestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputBad news came to Mike's village, some t原创 2016-07-07 15:47:20 · 891 阅读 · 0 评论 -
Codeforces Round #361 (Div. 2) B - Mike and Shortcuts
好久没写题解了;B. Mike and Shortcutstime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently, Mike was very busy原创 2016-07-07 11:41:21 · 555 阅读 · 0 评论 -
C++虚基类的实现机制:笔记
在《深度探索C++对象模型》里,有一个问题,也是去公司面试的时候那些技术人员常问的问题:在C++中,obj是一个类的对象,p是指向obj的指针,该类里面有个数据成员mem,请问obj.mem和p->mem在实现和效率上有什么不同。答案是:只有一种情况下才有重大差异,该情况必须满足以下3个条件:(1)、obj 是一个虚拟继承的派生类的对象(2)、mem是从虚拟基类派生下来的成转载 2016-05-17 00:28:41 · 486 阅读 · 0 评论 -
next_permutation函数 处理hdu5676
关于 next_permutation函数的部分 转载自http://blog.sina.com.cn/s/blog_9f7ea4390101101u.html、这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件下面是以前的笔记 与之完全相反的函数还有prev_permutation (1) int 类型的next_perm转载 2016-05-05 13:13:25 · 657 阅读 · 0 评论 -
Codeforces Round #374 (Div. 2) C. Journey
C. Journeytime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently Irina arrived to one of the most famous cities of原创 2016-10-01 14:33:19 · 536 阅读 · 0 评论 -
Codeforces Round #374 (Div. 2) D - Maxim and Array
D. Maxim and Arraytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently Maxim has found an array of n integers, n原创 2016-10-01 15:44:22 · 437 阅读 · 2 评论 -
STL 容器的一些方法和demo整理
1.vector 0.vector 底部实现为数组,支持快速的在底部添加数据 ,但是它的修改是n级别的1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;原创 2016-03-23 13:41:40 · 982 阅读 · 0 评论 -
小桀打毒图的时候来写道树形dp
题目:Anniversary partyTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7798 Accepted Submission(s): 3412Problem DescriptionThere原创 2016-02-24 03:19:54 · 521 阅读 · 0 评论 -
翻硬币思路&&算法马拉松11 A翻硬币
题目:有 n 个硬币,一开始全部正面朝上,每次可以翻转 k 个硬币( k 小于 n ),那么至少要 p 次翻转,才能让所有硬币反面朝上,求 p 的值。如果不能成功翻转则输出-1Input输入2个数:n,k (1 Output输出翻转次数的最小值。如果不能成功翻转则输出-1Input示例6 5Output示例6在豆瓣的一个帖子里看到曾原创 2016-02-27 23:19:33 · 1292 阅读 · 0 评论 -
hdu 5996 dingyeye loves stone
dingyeye loves stoneProblem Descriptiondingyeye loves play stone game with you.dingyeye has an n-point tree.The nodes are numbered from 0 to n−1,while the root is numbered 0.In原创 2016-12-22 21:57:47 · 564 阅读 · 0 评论 -
Codeforces Round #389 C. Santa Claus and Robot
C. Santa Claus and Robottime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputSanta Claus has Robot which lives on the inf原创 2016-12-27 22:22:28 · 835 阅读 · 0 评论 -
理发师问题的实现
理发师问题: 一个理发店由一个有几张椅子的等待室和一个放有一张理发椅的理发室组成。 1. 若没有要理发的顾客,则理发师去睡觉; 2. 若一顾客进入理发店,理发师正在为别人理发,且等待室有空椅子,则该顾客就找张椅子按顺序坐下; 3. 若一顾客进入理发店,理发师在睡觉,则叫醒理发师为该顾客理发; 4. 若一顾客进入理发店且所有椅子都被占用了,则该顾客就原创 2016-12-29 00:37:33 · 3171 阅读 · 0 评论 -
Educational Codeforces Round 30 B. Balanced Substring
B. Balanced Substringtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a string s consisting only of char原创 2017-10-13 23:29:24 · 330 阅读 · 0 评论 -
hdu 6216 A Cubic number and A Cubic Number (2017 ACM/ICPC Asia Regional Qingdao Online)
A Cubic number and A Cubic NumberTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 101 Accepted Submission(s): 58Problem Descriptio原创 2017-09-17 19:42:24 · 414 阅读 · 0 评论 -
为何没有格点正三角形、正五边形和正六边形
遇到一道题 hdu 5365RunTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1081 Accepted Submission(s): 478Problem DescriptionAFA is原创 2016-04-21 00:44:20 · 3174 阅读 · 0 评论 -
判断二进制数除以3的余数
一个非常有意思的问题:判断一个二进制的数除3是否能够整除。思路:首先肯定会想到十进制除3整除的规则: 每位数相加的和能被3整除。但是按照这样的思路去考虑二进制的情况容易进入到死胡同里。考虑以下方法:二进制的数再加一位0就是原来的值*2,再加上一位1就是原来的值*2+1。那么考虑以下的状态转换:(以下思路来自:http://www.ji原创 2017-09-07 18:23:35 · 6680 阅读 · 2 评论 -
Codeforces Round #431 (Div. 2) A、Odds and Ends B、Tell Your World C、From Y to Y
A. Odds and Endstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputWhere do odds begin, and where do they end? Where doe原创 2017-09-04 16:32:59 · 542 阅读 · 0 评论 -
hdu 6186 CS Course 2017ACM/ICPC广西邀请赛-重现赛
CS CourseTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 542 Accepted Submission(s): 264Problem DescriptionLittle A has come原创 2017-09-03 23:43:38 · 823 阅读 · 0 评论 -
hdu 6081 度度熊的王国战略 2017"百度之星"程序设计大赛 - 资格赛 1002
1002、度度熊的王国战略Problem Description 度度熊国王率领着喵哈哈族的勇士,准备进攻哗啦啦族。哗啦啦族是一个强悍的民族,里面有充满智慧的谋士,拥有无穷力量的战士。所以这一场战争,将会十分艰难。为了更好的进攻哗啦啦族,度度熊决定首先应该从内部瓦解哗啦啦族。第一步就是应该使得哗啦啦族内部不能同心齐力,需要内部有间隙。原创 2017-08-08 21:31:11 · 903 阅读 · 2 评论 -
April Fools Contest 2017 C. INTERCALC
C. INTERCALCtime limit per test2 secondsmemory limit per test64 megabytesinputstandard inputoutputstandard outputDO YOU EXPECT ME TO FIND THIS OUT?WHAT BASE AND/XOR LAN原创 2017-04-01 13:42:33 · 842 阅读 · 0 评论 -
April Fools Contest 2017 E. Twisted Circuit
E. Twisted Circuittime limit per test2 secondsmemory limit per test64 megabytesinputstandard inputoutputstandard outputInputThe input consists of four lines, ea原创 2017-04-01 13:19:18 · 818 阅读 · 0 评论 -
April Fools Contest 2017 A. Numbers Joke
A. Numbers Joketime limit per test2 secondsmemory limit per test64 megabytesinputstandard inputoutputstandard outputInputThe input contains a single integer a (1 ≤ a ≤原创 2017-04-01 13:10:22 · 965 阅读 · 0 评论 -
Ptrace 详解
引子:1.在Linux系统中,进程状态除了我们所熟知的TASK_RUNNING,TASK_INTERRUPTIBLE,TASK_STOPPED等,还有一个TASK_TRACED。这表明这个进程处于什么状态?2.strace可以方便的帮助我们记录进程所执行的系统调用,它是如何跟踪到进程执行的?3.gdb是我们调试程序的利器,可以设置断点,单步跟踪程序。它的实现原理又是什么?所有这转载 2017-03-06 23:52:53 · 6066 阅读 · 0 评论 -
“快指针”、“慢指针”
有时候处理链表相关问题的时候,定义“快指针”和“慢指针“的方法有时候会极大地提高时间效率。下面是常见的几种使用这个方法的情况。假设不考虑异常输入的情况。判断一个链表是否有环 定义两个指针,快指针步长为2,慢指针步长为1.同时从链表头开始出发。如果链表中有环那么他们必然相遇。bool hasCycle(ListNode *head) { if(!head)转载 2017-03-03 17:21:09 · 982 阅读 · 1 评论 -
达夫设备(Duff's Device)
达夫设备设备是一段非常巧妙,看起来非常诡异的c代码,它可以很大的提高程序执行的效率(本文将试验),达夫设备的来源我就不说了,我们来分析一下。 达夫设备是考虑到我们一般用for或者while循环的时候,如果执行循环内容本身用不了多少时间,那么时间将被主要消耗在每次循环的比较语句上边。 事实上比较语句是有很大优化空间的,假设你要循环1000次,结果你从第一次开始就不断的比较是否达到上转载 2017-01-16 01:19:30 · 1286 阅读 · 0 评论 -
Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) C - Felicity is Coming!
C. Felicity is Coming!time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIt's that time of the year, Felicity is around原创 2017-01-14 01:13:20 · 862 阅读 · 0 评论 -
Codeforces Round #344 (Div. 2) C - Report 遇到排序什么的就是无尽的蛋疼
题目:C. Reporttime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputEach month Blake gets the report containing原创 2016-03-05 00:23:39 · 682 阅读 · 0 评论 -
KMP题 hdu3336 hdu3746 hdu 1358 hdu2594
hdu 3336Count the stringTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7242 Accepted Submission(s): 3348Problem DescriptionI原创 2016-03-05 17:24:30 · 708 阅读 · 0 评论 -
hihoCoder 1272 买零食
描述小Ho很喜欢在课间去小卖部买零食。然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称。第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个“冷若冰霜”的眼神,食欲都下降了很多。从那以后,小Ho就学乖了,去小卖部买东西只敢同时买3包以内的零食,并且价格加起来必须是5的整数倍,方便小卖部姐姐算价格。但是小Ho不擅长计算,所以他把小原创 2016-03-14 00:32:19 · 2133 阅读 · 0 评论 -
Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)
这次的CF A题有种很特别的解题思路 所以PO上来A. Slime Combiningtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYour friend recen原创 2016-01-30 16:03:12 · 735 阅读 · 0 评论 -
滚动数组
使用范围:使用在递推或动态规划中 作用:节约空间注意:时间上没什么优势举例1)作用在一维数组:普通方法 int d[]=new int[100]; d[0]=1;d[1]=1; for(int i=2;i<100;i++) { d[i]=d[i-1]+d[i-2] }转载 2016-01-30 22:33:49 · 556 阅读 · 0 评论 -
BestCoder Round #70
B:Jam's balance:Jam's balanceAccepts: 143Submissions: 880Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Problem Description原创 2016-01-30 22:37:49 · 420 阅读 · 0 评论 -
BSGS算法_Baby steps giant steps算法
这个主要是用来解决这个题:A^x=B(mod C)(C是质数),都是整数,已知A、B、C求x。我在网上看了好多介绍,觉得他们写得都不够碉,我看不懂…于是我也来写一发。先把x=i*m+j,其中m=ceil(sqrt(C)),(ceil是向上取整)。这样原式就变为A^(i*m+j)=B(mod C),再变为A^j=B*A^(-m*i) (mod C),先循环j=0~(C-1),转载 2016-02-04 16:01:01 · 915 阅读 · 1 评论 -
AIM Tech Round (Div. 2) C. Graph and String
写下第三题的解题过程:C. Graph and Stringtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputOne day student Vasya was si原创 2016-02-05 17:48:30 · 638 阅读 · 0 评论