
*********ACM***************
文章平均质量分 72
popcjz
这个作者很懒,什么都没留下…
展开
-
杭电题目分类 最新
HDU Introduction入门1. HDU 1000 A + B Problem2. HDU 1001 Sum Problem3. HDU 1089 A+B for Input-Output Practice (I)4. HDU 1090 A+B for Input-Output Practice (II)5. HDU 1091 A+B for Input-Output Practice (...转载 2018-02-26 11:28:15 · 11251 阅读 · 0 评论 -
ACM模块解析之 计算几何
计算几何一.简介计算几何属于ACM算法中比较冷门的分类,在省赛中只在前几年考察过,这两年还没有考过,而且和高精度计算一样,遇到题目主要靠套模板,因此对题意的理解至关重要,而且往往题目描述还常为英文,所以还是需要一定的题量支撑,来判断具体考察的是什么。 二.题型分类下列仅为一部分,可与《算法与实现》第三章计算几何互相补充。1.点判断点是否在多边形中★★平面最近点对/最远点对★曼哈顿距离点集的有序化(...原创 2018-04-26 11:18:15 · 939 阅读 · 0 评论 -
ACM模块解析之 STL
STL标准模板库一.简介STL和数据结构在ICPC竞赛的作用类似,大部分情况都是题目很难用朴素算法在规定的时间和内存条件中完成,才不得不用的一种优化方式。在ACM竞赛中,需要用到数组、字符串、队列、堆栈、链表、平衡二叉检索树等数据结构和排序、搜索算法,以提高程序的时间、空间运行效率。这些数据结构如果都需要手工来编写,那是相当麻烦的事情,幸运的是C++中包含了一个C++ STL,又称C++泛型库,它...原创 2018-04-24 09:40:33 · 381 阅读 · 0 评论 -
最大子序和&最长公共子序列&最长公共子串 超全模板
1.最大子序和 常量空间线性时间的联机算法几乎是完美的算法。#include<stdio.h>#include<string.h>#include<iostream>using namespace std; void getlen(int a[],int n){int tt=-99999;int start=0;//起始位置 int end=0;//结束位置in...原创 2018-04-19 08:57:10 · 245 阅读 · 0 评论 -
数据结构——树状数组
区间信息的维护与查询专题———树状数组1.问题来源动态连续和查询问题。给定一个n个元素的数组A1,A2,...,An,你的任务是设计一个数据结构,支持以下两种操作。★ Add(x,d)操作:让Ax增加d.★ Query(L,R):计算AL+AL+1+...+AR.对普通数组进行一次修改或特定区间求和,时间复杂度为O(N),N为修改或求和需要扫描的数组区间大小。但有一种称为树状数组(又称二叉索引树)...原创 2018-04-16 08:03:55 · 1320 阅读 · 0 评论 -
ACM模块解析之 数据结构
数据结构一.简介数据结构在比赛中通常用于对一些题目逻辑简单,但是测试数据比较大,用朴素(模拟或暴力)算法,会导致超时或超出内存限制的题目。重点算法需要熟悉掌握和灵活应用。 二.算法分类1.线性表 栈 单调栈★队列 双端队列 优先队列★链表块状链表2.集合2.1散列表★2.2并查集 /带权并查集★2.3二分查找★3.排序 //虽然ACM比赛中排序大部分都是直接用sort,但是花一些时间去明白下面排...原创 2018-04-15 19:09:34 · 1879 阅读 · 0 评论 -
ACM模块解析之 搜索
搜 索1.简单概念所谓图的遍历,也称为搜索,就是从图中某个顶点出发,沿着一些边访遍图中的所有的顶点,且使每个顶点仅被访问一次。 2.算法分类2.1回溯算法: 常常不被认为是搜索,而被分类为基础算法题。回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”思想作为其控制结构,其相当于采用了先根遍历的方法来构造解答树,可用于找解或所有解以及最优解。 评价:回溯算法对空间的消...原创 2018-03-28 21:32:47 · 2858 阅读 · 0 评论 -
ACM模块解析之 贪心
贪心一.简介贪心法是一种解决问题的策略。如果策略正确,那么贪心法往往是易于描述,易于实现的。选择策略最关键的是读懂题,翻译能力和抽象能力。 二.题目分类:主要包括两大类:1.背包相关问题,细分为1.1最优装载问题:给出n个物品,第i个物体重量为wi,选择尽量多的物体,使得重量不超过C。1.2部分背包问题: 有n个物体,第i个物体的重量为wi,价值为vi,在总重量不超过C的情况下,让总价值尽量高。而...原创 2018-03-28 21:28:14 · 2307 阅读 · 0 评论 -
HDU 动态规划(46道题目)【只提供思路与状态转移方程】
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋); ...转载 2018-04-19 08:57:16 · 350 阅读 · 0 评论 -
ACM模块解析之 动态规划
动态规划一.简介在ACM中,动态规划是一种将一个复杂问题分为多个简单的小问题的思想。在使用动态规划时,原问题须满足重叠子问题和最优子结构这个性质。运用动态规划思想设计的算法一般比朴素的算法高效很多。因为在计算某个状态的时候,已经被计算的子问题将不需要重复计算,而是调用之前存储下的结果。这样就减少了大量的重复计算。动态规划思想的本质是在一个有向无环图中,求一个函数的最优值,也可以看做是一个加入了“记...原创 2018-04-17 08:01:27 · 1634 阅读 · 1 评论 -
ACM模块解析之 数论
数 论一.简介数论是ACM中的重点内容。历年竞赛题目,一般都有1~2道题目与数论有密切关系。数论涉及的概念和算法很多,用途也非常广泛。掌握与数论有关的方法,是参赛者需要具备的必要技能。数论的学习应该注意简单的概念要能熟练掌握,可以手写代码。较难理解的概念和知识点应注意模板的整理,模板的整理要注意规范接地气,变量名函数名简单易懂通用,写明模板函数的作用,在比赛中能快速上手使用,最好是本人理解后所写...原创 2018-04-02 15:46:29 · 677 阅读 · 1 评论 -
二叉树的4种遍历
遍历1.前序遍历规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。/*二叉树的前序遍历递归算法*/void PreOrderTraverse(BiTree T){If(T==NULL)return;printf(“%c”,T->data);//显示结点数据,可以更改为其他对结点操作PreOrderTraverse(T->lchild);//再先序...转载 2018-03-16 21:47:05 · 1935 阅读 · 0 评论 -
NYOJ博弈论题目汇总
NYOJ博弈论题目汇总NYOJ 23 取石子(一) 有一堆石子共有n个,A和B轮流取,A先,每次最少取1个,最多取m个,先取完者胜,A,B足够聪明,问谁先胜? 比较简单的巴什博弈,若n%(m+1)!=0,A胜,否则B胜。NYOJ 833 取石子(七) n个石子摆成一圈,A和B轮流取,每次可以从中取一个或相邻两个,先取完者胜,A先取,问谁胜? 若n==1||n==2 则...转载 2018-04-26 14:53:12 · 680 阅读 · 0 评论