算法
icyz14
这个作者很懒,什么都没留下…
展开
-
网易互娱2021校招08-12笔试4道题分析
目录1. 七星不靠牌型判断2. 十字斩3. 最长的任务时间4. 地图捡箱子(模拟)如果发现有问题欢迎邮件交流。icyz14@163.com1. 七星不靠牌型判断东南西北中发白+147/258/369的条/万/筒这16张牌可以胡。其中147/258/369这9张牌可缺任意2张。给出7张数字牌,判断是否是七星不靠。写的比较暴力。先把7张牌按条万筒分类。三类牌中的数字不能重复。每一类不能超过3张牌。每一类的数字排序后的差只能是3或6,且为6时这一类只能有2张牌。满足以上条件即可。输入4原创 2020-08-12 22:58:06 · 2363 阅读 · 1 评论 -
生成所有二叉搜索树
目录生成所有二叉搜索树题目思路C++代码生成所有二叉搜索树题目见 leetcode-cn unique-binary-search-tree-ii .题目给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。示例:输入: 3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2...原创 2020-03-25 23:52:42 · 612 阅读 · 0 评论 -
POJ-2299 Ultra-QuickSort 逆序对统计
基本的树状数组求逆序对// Ultra-QuickSort// http://poj.org/problem?id=2299#include #include #include #include #include #define forloop(i, a, b) for(int i = a; i #define fordown(i, a, b) for(int i = a;原创 2018-02-04 21:01:28 · 237 阅读 · 0 评论 -
POJ-2155 Matrix 二维树状数组, HDU-3584 Cube 三维树状数组
Matrix 是一道需要在二维矩形范围修改和单点查询的题目。Cube 是三维情况下的扩展。 从一维的区间修改单点查询模型可以扩展到二维。用二维树状数组维护差分的矩阵,求和结果就是实际的单点元素值。 一维情况下给 (x, y) 区间加 v 可以执行 add(x, v) 和 add(y+1, -v); 二维下给 (x1, y1) - (x2, y2) 矩形范围加 v ,考虑容斥原理,可以执行原创 2018-02-05 13:05:31 · 325 阅读 · 0 评论 -
HDU-3648 Median Filter 树状数组求中位数
HDU-3648 Median Filter 树状数组求中位数参考:http://blog.jobbole.com/96430/ 遍历和二分写的比较麻烦。 最后还要注意避免 Presentation Error:行尾有空格。// Median Filter// http://acm.hdu.edu.cn/showproblem.php?pid=3648#include #in原创 2018-02-06 12:42:12 · 386 阅读 · 0 评论 -
POJ-2481 Cows 树状数组
参考:http://blog.jobbole.com/96430/// Cows// http://poj.org/problem?id=2481#include #include #include #include using namespace std;const int maxn = 100000 + 10;int maxe = -1;struct Segme原创 2018-02-06 15:55:34 · 156 阅读 · 0 评论 -
USACO-Wormhole
搬运自己的博客,原载于 cyz14.farbox.com 2016-07-01自己的博客。——以下为原文——还是高二或者高三的时候开始做USACO的题,结果做了几题就做不下去了,被挡在了Wormholes这题。在家无事,今天又想起了,于是花了点时间做了出来。 做完后对照标程感慨自己还是搞的太复杂了。 我是想首先要把坐标离散化,映射到一个小范围内,然后递归找出所有配对方案,再在地图上模拟...转载 2018-09-12 02:00:56 · 356 阅读 · 0 评论 -
国际象棋AI收藏
国际象棋AI收藏Online Chess Next StepAI repo on GithubOnline Chess Next StepNext Chess MoveAI repo on GithubSunfishSunfish is a simple, but strong chess engine, written in Python原创 2018-09-23 19:38:23 · 889 阅读 · 0 评论 -
二分猜数游戏实现 coin1
pwnable.kr 上的 coin1这题需要在时间限制内赢100次二分猜数游戏。记得数据结构课上老师就说过,二分查找的实现还是很容易错的。一开始写的版本总是用光次数猜不对。网速比较慢的话就得先用其他题的账户登上去然后本地连接到9007端口执行。from pwn import *sh = remote('pwnable.kr', 9007)sh.recvuntil('starting...原创 2018-10-25 16:28:31 · 349 阅读 · 0 评论 -
POJ-2892: Tunnel Warfare 树状数组+二分做法
POJ-2892: Tunnel Warfare 树状数组+二分主要参考了这篇博客 http://blog.jobbole.com/96430/ 比较详细地介绍了树状数组的各方面应用。感觉比较难写的是二分,最好多加几个 Query 测试二分写对没有。// Tunnel Warfare// http://poj.org/problem?id=2892#include #inclu原创 2018-02-04 16:49:48 · 318 阅读 · 0 评论 -
一次艰难的优化Codeforces contest/810/problem/C
利用数学优化算法这道题是一次我需要花一点时间来优化的题目,不然过不了。给定n个各不相同的一维坐标点 xi {x_i} , 求所有F(a)的和,其中a是n个点的非空子集。若记A为1到n的集合,则要求的是 ∑a⊂A,a≠∅F(a)\sum_{a \subset A, a\neq\varnothing}F(a) 其中,F(a)是a中的所有点对之间距离的最大值。 F(a)=maxi,j∈a|xi原创 2017-05-24 03:02:20 · 309 阅读 · 0 评论 -
[LeetCode] 45. Jump Game II
45. Jump Game IIDescriptionGiven an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that po原创 2017-02-12 22:53:54 · 170 阅读 · 0 评论 -
[LeetCode] 53. Maximum Subarray
53. Maximum SubarrayDescriptionFind the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contigu原创 2017-02-13 16:07:11 · 251 阅读 · 0 评论 -
[LeetCode] 73. Set Matrix Zeroes
73. Set Matrix ZeroesDescriptionGiven a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.Algorithm这题要求里面空间效率比较重要。 最暴力的就是O(mn)O(mn)的空间复杂度。 稍微思考一下可以用O(m+n)O(m+n)的空间。原创 2017-02-13 23:38:44 · 208 阅读 · 0 评论 -
[LeetCode] 75. Sort Colors
75. Sort ColorsDescriptionGiven an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we w原创 2017-02-14 00:29:55 · 176 阅读 · 0 评论 -
Merge K Sorted Lists
题目描述与分析合并k个有序链表。假设每个链表的长度都是n来分析复杂度吧。 这一题是LeetCode的第23题。类似于归并排序(Merge Sort)最后的合并步骤。朴素Naive的实现是每次合并一个list进来,时间复杂度是 O(kn2) O(kn^2) 的。如果能够每次快速取到所有lists的最小值中的最小值就可以快速合并了。那么用堆或者优先队列来按照值的大小维护所有lists的head,就可原创 2017-01-24 21:56:20 · 294 阅读 · 0 评论 -
二分查找,lower_bound,upper_bound
LeetCode 15. 3Sum想到的算法是排序之后二重循环a和b,然后二分查找第三个c,时间复杂度 O(n2log(n))O(n^2log(n)) 。于是想手写一下二分查找。搜到了LeetCode: Search for a Range这一题。于是就写了lower_bound和upper_bound。lower_bound & upper_bound 参考定义 * ForwardIte原创 2017-01-26 23:21:33 · 254 阅读 · 0 评论 -
Kickstart Round A 2017
Problem A. Square CountingMr. Panda has just been given a grid with R rows and C columns of dots. How many different squares can he find in this grid? Since the number might be very large, please outpu原创 2017-03-05 20:03:48 · 490 阅读 · 0 评论 -
HackerRank--Equal Stacks
HackerRank–Equal Stacks题目描述有三个栈,每个栈里放了一些高度不一的圆柱体,问如何从最上面拿走任意数量的圆柱体使三个栈的高度一致,最大可以得到的高度是多少?// 因为栈为空也视为高度一致,所以一定有解。原创 2017-04-11 12:46:52 · 378 阅读 · 0 评论 -
[LeetCode] 42. Trapping Rain Water
Trapping Rain WaterDescriptionGiven n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.For example, Given原创 2017-02-12 21:54:59 · 185 阅读 · 0 评论