
算法
文章平均质量分 51
IceTeaSet
这个作者很懒,什么都没留下…
展开
-
[JSOI2007] 奶酪 题解 贪心 O(1)
题目描述奶酪和pizza一样,是一小块扇形的固体。在奶酪从工厂里生产出来的时候,一共有4种形状,编号为1~4,分别是圆心角为72º;;,144º;;,216º;;,288º;;的扇形。奶酪的盒子是圆形的,半径和奶酪的半径一致。也就是说,一块1号奶酪和一块4号奶酪可以恰好装入一个盒子,一块2号奶酪和一块3号奶酪可以恰好装入一个盒子。原创 2015-03-11 21:51:21 · 1020 阅读 · 0 评论 -
Google Kickstart Round C 2018 Problem B. Fairies and Witches
Problem B. Fairies and Witches题目传送门: https://code.google.com/codejam/contest/4384486/dashboard#s=p1题目意思理解起来有点麻烦,简单说就是要选n条边(n>=3),边与边之间不能有共同端点,并且要能组成一个面积不为0的多边形(即最长边的值小于其他所有边的和),求一共有多少种不同的选择方案。...原创 2018-05-27 20:27:48 · 1087 阅读 · 0 评论 -
Google Kickstart Round C 2018 Problem A. Planet Distance
Problem A. Planet Distance 题目传送门:https://code.google.com/codejam/contest/4384486/dashboard#s=p0我的做法是先用Kahn算法找出环中所有结点。然后用一遍BFS计算所有点到环的最近距离。参考代码:int main(){ int no; cin>>no; fo...原创 2018-05-27 20:18:44 · 1675 阅读 · 2 评论 -
【栈/DP】LeetCode 32. Longest Valid Parentheses 八种解法
Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses substring is “()”, which has原创 2017-09-27 15:05:03 · 1029 阅读 · 0 评论 -
SBT 简短代码 (poj3481,并附上用STL set/map做的代码)
关于Size Balanced Tree的讲解可以查看发明者陈启峰的论文: http://wenku.baidu.com/view/364afa42a8956bec0975e3b1.html 我就不搬运了~set和map内部是使用红黑树实现的,故其中的数据是有序的,也可以用来解此题,而且两者的时间空间使用都一模一样。 进一步了解红黑树:http://blog.youkuaiyun.com/icetease原创 2015-09-15 16:02:02 · 694 阅读 · 0 评论 -
PAT研究生入学考试2015.03第二题Deduplication on a Linked List (25) 题解
数据结构题,用数组模拟链表,难点是移到删除链表中时别搞晕了原创 2015-09-21 15:22:10 · 703 阅读 · 0 评论 -
PAT研究生入学考试2015.03第一题Consecutive Factors (20) 题解
这道题题意有点不清。它的意思是说找出连续因子最长的长度,并且输出该长度下首因子最小的序列。而不是求出连续因子最长的长度,以及任意长度下首因子最小的序列。 这道题并不用求 sqrt(N) 以内的素数,直接枚举就好了,注意细节优化降低时间复杂度,以及一些特殊情况,详见代码注释。时间复杂度为O(N^(1/2))原创 2015-09-21 15:06:51 · 1105 阅读 · 0 评论 -
POJ2406 & POJ1961 详细解题思路和AC程序 KMP算法变种
poj2406题目大意:给出一个字符串s,求其最短的子串a,使得s=a^n(即n个a相连),输出n。s的长度小于10^6。本题可以用kmp算法来做。先算出next数组。有些KMP算法的代码中next[i]代表的是s[i+1]匹配不上原创 2015-07-09 00:48:00 · 888 阅读 · 0 评论 -
PAT研究生入学考试2015.03第三题Insertion or Heap Sort (25) 题解
题目大意是判断给出的序列是原序列经过插入排序还是堆排序的一次或多次迭代后产生的序列。注意:某次迭代中某刻的序列不算,堆排序建堆时的序列不算,题目没说清楚。其实不过就是考堆排序和插入排序,麻烦了点,但是并不难。#include <iostream>#include <stdio.h>//1ms 288kbconst int MAX=110;int a[MAX];int b[MAX];int原创 2015-09-21 16:16:24 · 718 阅读 · 0 评论 -
PAT研究生入学考试2015.03第四题Build A Binary Search Tree (30) 题解
题目:http://www.patest.cn/contests/pat-a-practise/1099题目可以分为四个步骤:建树,排序,中序遍历,层次遍历建树就是输入,注意把双亲域也填上,后边中序遍历如果是非递归的话要用到。然后将输入的数据序列从小到大排好序,这样在中序遍历的时候就只要一个一个填进去就好了。中序遍历我用的是树操作中常见的求下一个节点的运算,是非递归的。层次遍历我用的是队列,或者说广原创 2015-09-21 16:34:27 · 1103 阅读 · 0 评论 -
红黑树详细讲解(多文整合)
红黑树简介基本操作1 基本旋转操作2 求节点的后继节点插入删除代码原创 2015-08-27 19:44:59 · 1020 阅读 · 0 评论 -
Google Kickstart Round C 2018 Problem C. Kickstart Alarm
Problem C. Kickstart Alarm题目传送门: https://code.google.com/codejam/contest/4384486/dashboard#s=p2题目理解有点麻烦,经过一些思考可以得到: ans[i] = a[i] * (n-i) * (1 ~ i+1的等比数列之和), 0 &lt;= i &lt; n其中ans[i]表示所有与a[i]...原创 2018-05-27 21:04:55 · 2076 阅读 · 3 评论