
算法赛题
FUNCO_小风
不正经开发
展开
-
推荐系统基于近邻方法的图模型的简单案例与问题延伸——【leetcode 1311. 获取你好友已观看的视频】题解
前面的读书笔记中,提及了基于近邻方法的图模型。巧合的是,在周末刷leetcode的时候遇到了这样的一道题,觉得很适合用来做为图模型作近邻推荐的启发。遂AC后发出来,供大家参考。正文题目描述请点击链接:leetcode 1311. 获取你好友已观看的视频  ...原创 2020-01-13 07:05:22 · 410 阅读 · 0 评论 -
二分查找-中等-按权重随机选择
前言 好久没有抽时间刷题了,突然发现leetcode有个random标签,就好奇这下面是什么类型的题,结果没想到碰巧看到了这个在公司游戏化教学项目也有涉及的问题,遂顺手甩一篇题解。 在本文中,我会先给出该题的...原创 2019-07-13 12:08:05 · 716 阅读 · 0 评论 -
设计/map-困难-leetcode. LRU缓存机制
题目来源:LRU缓存机制不知道LRU的同学可以看看操作系统关于页面置换规则的部分或直接百度百科。这里我就不搬砖了。这道题要实现的话,我认为难度其实算中等。主要难度在于如何实现O(1)时间复杂度。由于存在key->value,因此我们必定需要一个map和一个list,map存储key对应的指针(或指向列表中迭代器),list存储实际的(key,value)单元。可能有同学有疑问,map为什...原创 2019-04-09 14:16:45 · 328 阅读 · 0 评论 -
数组/哈希-简单-两数之和
题目来源:leetcode 1. 两数之和很简单的一道题,哈希思想不熟练的,第一反应可能是两重循环遍历,时间复杂度O(n^2)。但是,更好的解法其实是 构建一个数组map,key是nums中的值 遍历nums数组,每次用target-num map[target-num]存在,则直接返回两个数即可 时间复杂度O(n),最坏情况下也只是把整个数组遍历一遍题目...原创 2019-03-24 14:18:22 · 274 阅读 · 0 评论 -
以分数形式解算表达式字符串『PHP实现』
问题来源全日制steam小游戏『24点』实现过程中遇到的问题,现在,通过某种方法,后端能得到一个字符串表达式,含有四则运算和括号。要求结算该表达式得到结果。对于计算结果,若为整数,直接以整数结果表示;若为分数则以分数结果表示,不能转成浮点数。解决思路分解问题其实是一个经典的算法问题以及一个分数运算问题:解析字符串表达式,表达式中含有+、-、*、/、( 和 ) 将一般的数值运算...原创 2019-03-20 14:48:56 · 1082 阅读 · 0 评论 -
递归|动态规划-困难-leetcode. 正则表达式匹配
想找个难的开始练手,于是。。。真的卡了很久。leetcode的正则表达式匹配题。标记是困难。可以用递归或动态规划两种方法解决(递归时间较慢,动态规划打表处理,空间换时间)问题描述给定一个字符串(s) 和一个字符模式(p)。实现支持'.'和'*'的正则表达式匹配。'.' 匹配任意单个字符。'*' 匹配零个或多个前面的元素。匹配应该覆盖整个字符串(s) ,而不...原创 2019-03-20 14:46:39 · 301 阅读 · 0 评论 -
图形相似度比较(图形检索)学习笔记——pHash算法(图像感知算法)
问题来源 有一活动,临摹油画,然后拍照上传。判断与原画的相似度,相似度越高,分数就越高。 作为技术男,看到这个,第一反应当然是思考怎么实现这一功能啦。由于玩过opencv,所以第一反应是利用opencv的sift获取特征点集合,然后比较特征点集合,但是如何比较特征点集合一致就成了问题,一致找不到比较好的方法,后来在网上查了一下,发现比较图案的方法还不少。 ...原创 2019-03-20 14:39:43 · 14701 阅读 · 0 评论 -
LUOGU 洛谷 P1563 玩具谜题
问题 https://www.luogu.org/problemnew/show/P1563这是一道简单的模拟类型的题,主要注意两点数据量有点大,int无法表示,用long才能100%AC朝外向左与朝内向右是一样的方向,反之亦然,因此模拟判断过程可以稍微简化#include <stdio.h>#define MAX_N 100000#define MAX_M 100000in...原创 2018-03-21 11:09:21 · 442 阅读 · 0 评论 -
洛谷 luogu P1003 铺地毯
问题 https://www.luogu.org/problemnew/show/P1003这道题不难,可以用来热身。问题是有个小坑,一开始想的是直接打n*n的表,每一次输入一个地毯的坐标的时候,把他覆盖的所有(x,y)点都置为-1,这样最后输入要查询的坐标的时候就可以直接打印了。这样的办法在需要查询多个点的时候比较快。坑就坑在,数据范围,x,y <= 100,000 , 如果按照这个思路走...原创 2018-03-21 08:22:33 · 365 阅读 · 0 评论 -
洛谷 NOIP AT3880 Coins 题解
题目有一个坑,题目下方事例,数量为0的就没有输出。我以为为0的就不用输出,特意加了判断。结果有4道题WA,去掉了那个判断才AC/### 翻译如下你有500日元硬币A枚、100日元硬币B枚、50日元硬币 C枚。 现在,从这些硬币中挑出数枚硬币,各个硬币价格之和刚好等于X日元的组合有多少种。 需要注意的是:1. 同种类(面值)的硬币是没有区别的2. 不同的组合方式以某个面值的硬币数量不同来区分3. 0...原创 2018-03-23 09:24:54 · 385 阅读 · 0 评论 -
CODEVS 1012 最大公约数和最小公倍数问题
问题来源 http://codevs.cn/problem/1012/确定以下几点就好做了,很基础的题,但是很多人忘了数论的知识,所以才做不出来 两个数的乘积等于他们的最大公约数和最小公倍数的乘积(数论知识,忘记了可以自己去看看高数书或者百度) 上述条件反之则不成立,因此找到乘积=x*y的两个数时,需要验证他们的最大公约数是x 辗转相除法(欧几里得算法)可以比较简便的获得最大公约...原创 2018-03-18 21:16:45 · 288 阅读 · 0 评论 -
CODEVS 1083 cantor表
题目 http://codevs.cn/problem/1083/cantor表问题 很经典的一个数列问题 也算是不错的热身题基本思想 每条斜线作为一个数列 第一条有1个数 第二条有2个数 第i条有i个数,等差求和n条斜线有Si = i + i*(i-1)/2 上式得到结果之后,可以知道当前想知道的第n个数时它所在斜线的第几个数 结果是x/y还是y/x取决于这条斜线是第奇数...原创 2018-03-18 18:53:29 · 303 阅读 · 0 评论 -
CODEVS 1015 计算器的改良
题目 http://codevs.cn/problem/1015/热身题,很直接的写法,直观易理解,代码结构可以自己整理一下基本思想 一旦遇到运算符就一定将缓冲区的数据转储 一旦遇到等号,则正负号相反对待 一旦遇到字母,就认为当前缓冲区的数是一次项的系数 一次项和零次项系数分开存储/*作者:FUNCO_小风题目:p1015 计算器的改良*/#include<s...原创 2018-03-18 13:21:13 · 245 阅读 · 0 评论 -
CODEVS 1007 级数求和 C语言描述
题目 http://codevs.cn/problem/1007/很简单的一道题,个人很久没写了,随便找的一个练练手#include<stdio.h>int main(void){ int n=0,k=0; double sn=0; scanf("%d", &k); while(sn<=k) { n++; ...原创 2018-03-18 13:15:47 · 920 阅读 · 0 评论 -
ACM-NYOJ-算法赛题-组合数
找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合原创 2017-04-03 15:59:40 · 1435 阅读 · 0 评论 -
ACM-算法赛题-NYOJ-阶乘之和
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No原创 2017-04-03 15:58:23 · 663 阅读 · 0 评论 -
ACM-NYOJ-算法赛题-喷水装置1
现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。原创 2017-04-03 15:56:41 · 1328 阅读 · 0 评论 -
ACM the water problem详解[C语言][线段树]
本题可以用分块、树状数组、线段树求解分块算法需要构建索引表,时间复杂度也不低,但由于本题数据规模不大n树状数组效率高,但数据规模的原因,时间上没有太大优势,而且其思路较复杂综上原因,本题选择使用线段树求解,思路简单,时间复杂度满足条件,也节省空间构建本题线段树如下图,假设所求区间为[1,n]/************************************原创 2015-09-15 17:27:46 · 563 阅读 · 0 评论