• avatar 1900__ 2018-09-08 09:59:54

    图论500道题--评测平台+算法标签

    最小生成树+并查集 【HDU】 1213   How Many Tables   基础并查集★ 1272   小希的迷宫   基础并查集★ 1325&&poj1308  Is It A Tree?   基础并查集★ 1856   More is better   基础并查集★ 11

    来自 1900__
    00
  • avatar 1900__ 2018-09-05 22:03:46

    洛谷2678跳石头----二分答案入门

    经典例题---跳石头 洛谷OJ P2678 跳石头 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NNN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,

    来自 1900__
    00
  • avatar 1900__ 2018-08-29 11:40:28

    跳台阶问题详解---动态规划

    上台阶(初级) 有一楼梯共n级,刚开始时你在第0级,若每次只能跨上一级或二级,要走上第n级,共有多少走法?(练习题NYOJ76) 解决思路(一) 这道题呢  有两种思路   如果你经验丰富  一看就看出来是动态规划了 那么就好写了 我们来分析一下动态规划  首先  n=1  只有一种 n=2

    来自 1900__
    00
  • avatar 1900__ 2018-08-26 20:06:56

    博弈游戏之三大博弈---bash&&Wythoff&&Nimm

    奇异局势(必败态) 博弈是不公平的游戏  因为只要双方足够聪明   从游戏开始就已经确定了结果 在我们的博弈游戏中 想获取胜利  就要寻找必输状态 要寻找必败状态 首先要知道什么情况下算输 在游戏规则下  轮到你了却无法进行操作 就认定为输了(这是游戏的前提) 然后 我们寻找必败态 想

    来自 1900__
    00
  • avatar 1900__ 2018-08-26 11:31:22

    NYOJ509-因子和阶乘

    题目大意: 题目链接:戳这里 给你一个正整数n,把n!=1x2x3x.....xn分解成素因子相乘的形式,并从小到大输出每个素因子的指数,但要保证最后输出的素因子个数不为0。例如 5的阶乘是120 =2 x 2 x 2 x 3 x 5   所以输出  3 1 1 .。 n组测试数据; n

    来自 1900__
    00
  • avatar 1900__ 2018-08-22 15:29:07

    HUSTOJ(2019)在线判题系统的搭建

      最新的2019踩坑搭建过程请看这里 -->  点这里       2018-记一次基于Ubuntu 16.04的HUSTOJ在线判题系统的搭建 关于hustoj的搭建教程 网上有很多很多  而且开源的hustoj现在已经 几乎是 傻瓜式安装   但是今天早上还是搞了四个多小

    来自 1900__
    00
  • avatar 1900__ 2018-08-19 19:27:53

    汉诺塔问题(三柱及四柱)详解

     汉诺塔(Hanoi Tower),又称河内塔,传说大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该

    来自 1900__
    00
  • avatar 1900__ 2018-08-19 10:52:13

    约瑟夫环问题

    约瑟夫环问题 第一个解法引用了大佬的模板代码    但是感觉第二个公式法比较简便 大佬博客原文在这里 /* * n个人(编号 1...n),先去掉第m个数,然后从m+1个开始报1, * 报到k的退出,剩下的人继续从1开始报数.求胜利者的编号. */ #include<stdi

    来自 1900__
    00
  • avatar 1900__ 2018-08-15 13:35:36

    Custom theme BokeY

    code /*simplememory*/ #google_ad_c1, #google_ad_c2 {display:none;} .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .syntaxhig

    来自 1900__
    00
  • avatar 1900__ 2018-08-11 10:23:05

    牛客网月赛24--ABC

    牛客月赛24比赛链接 A题 题目描述 xb有m种石子,每种无限个,Ta想从这些石子中取出n个,并按顺序排列起来,为了好看,相邻的石子不能相同。xb想知道有多少种排列的方法。 输入描述: 第一行有两个正整数n,m。 输出描述: 第一行一个整数,表示在m种石子中取出n个的排

    来自 1900__
    00
  • avatar 1900__ 2018-08-10 10:38:28

    LIS最长上升子序列详解+模板(dp和二分做法)

    LIS 最长上升子序列(longest  increasing subsequence),也可以叫最长非降序子序列,简称LIS 求LIS的长度的问题  是指求数列的最长上升子序列(可以不连续)的长度 dp做法  复杂度O() 我们用 dp[ i ]来代表以 a[ i ] 为结尾的前 i 个数

    来自 1900__
    00
  • avatar 1900__ 2018-08-09 20:51:46

    队列Q----双数组下标查找

    链接比赛题目 链接:https://www.nowcoder.com/acm/contest/131/A 来源:牛客网   题目描述 ZZT 创造了一个队列 Q。这个队列包含了 N 个元素,队列中的第 i 个元素用 Qi 表示。Q1 表示队头元素,QN 表示队尾元素。队列中的元素是 N

    来自 1900__
    00
  • avatar 1900__ 2018-09-17 21:13:41

    博弈论入门游戏

    Ferguson游戏 有两个盒子,一个装有 m 颗糖,一个装有 n 颗糖,表示为 (m, n) . 每次清空一个盒子,将另一个盒子里的糖转移一些过来,并保证两个盒子至少各有一颗糖。 最后进行转移糖者胜,无法转移糖者败。 Solve m, n 都为奇数,先手必败;m, n 至少一个为偶数,先

    来自 1900__
    00
  • avatar 1900__ 2018-09-09 12:18:44

    牛客练习赛26---未完

    A平面 链接:https://www.nowcoder.com/acm/contest/180/A 题目描述 小a的平面上有n个X型不明物体,但是他不确定他们的位置。现在请你来确定他们的位置,使得划分形成的平面尽量多 输入描述:一个整数n,如题所示 输出描述:一个整数,表示最多把

    来自 1900__
    00
  • avatar 1900__ 2018-08-17 17:39:51

    欧拉函数

    定义: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。 例如euler(8)=4,因为1,3,5,7均和8互质。 表达通式: euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数,x是不为

    来自 1900__
    00
  • avatar 1900__ 2018-08-09 18:42:54

    hdu1789----贪心+回溯

    hdu1789  链接题目传送 #include<stdio.h> #include<iostream> #include<algorithm> #include<string.h> using namespace std; #define N 1

    来自 1900__
    00
  • avatar 1900__ 2018-08-09 17:07:07

    容斥原理-51nod1284

    原理 这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。 公式 简单来说 就是  奇数就加上 偶数就减去   比如   要求  

    来自 1900__
    00
  • avatar 1900__ 2018-08-08 19:22:33

    ACM中一些细节问题

    1、尽量不要使用万能头文件 #include<bits/stdc++.h>             一是有些oj是不允许用的   二是 他会让你忘记一些比较长的头文件怎么写 比赛的时候不能用 那就gg  2、c++打函数的时候,一定要打retrun。  函数一定要有返回值 (这个很

    来自 1900__
    01
  • avatar 1900__ 2018-08-08 13:50:29

    日期转换

    题目描述 “别人总说我瓜,其实我一点也不瓜,大多数时候我都机智的一批“ 现在是阳历2018/8/7,宝儿姐想起自己参加ACM整整1000天了。她想知道她刚入坑是什么时间。那么问题来了,请帮宝儿姐追忆一下某个时间之前n天是什么时间吧。 输入 多实例输入以EOF结束 每行四个数字year mont

    来自 1900__
    00
  • avatar 万能的翔王大人 2019-08-16 17:54:01

    C++_运算符

    [TOC] 算数运算符 六种,除了我们都知道的加减乘除还有取模,自增和自检运算。 没啥意思,略过。 关系运算符 比较大小或者是否相等,没啥意思,是个人都会。 逻辑运算符 关系 符号 理解 与 && 串联 或 || 并联 非 ! 开关 位运算符 跟上边一样,只不

  • avatar 1900__ 2018-08-06 22:07:18

    51nod1242--斐波那契第n项--矩阵快速幂

    题目链接51nod1242 让求第n项斐波那契数列  并且 n很大    n(1 <= n <= 10^18)。 所以要用到矩阵乘法,具体公式如下图 由 F2  F1  F1 F0   组成的矩阵的n次方  的左下角就是Fn 所以我们只需要计算这个矩阵的n次方就好了   用矩阵快

    来自 1900__
    00
  • avatar 1900__ 2018-08-06 21:52:07

    51nod1113-----矩阵快速幂

    我们先看下矩阵的乘法 51nod1137矩阵乘法 链接51nod1137矩阵乘法 就是模拟人工手算矩阵乘法 这里用了下运算符重载  看起来简洁些  也可以不用 代码 #include<stdio.h> #include<iostream> #include<

    来自 1900__
    00
  • avatar 1900__ 2018-08-06 16:04:09

    乘法逆元---费马小定理&&扩展欧几里得

    例题 51nod1256题目链接 乘法逆元 : X*b=1(mod p)   x乘以b在模p的意义下恒等于1  那么 b就是x在mod p的情况下的逆元 意义 乘法逆元的一大应用是模意义下的除法,除法在模意义下并不是封闭的 所以我们可以根据乘法逆元,将 ( a / b ) % c   转

    来自 1900__
    00
  • avatar 1900__ 2018-08-06 15:04:17

    线段树详解 二 ----(区间修改区间查询)

    例题POJ3468 ----模板题 题目链接 原理详解: 首先 大家应该都已经会了线段树的 单点更新和单点查询了  也就是已经了解了线段树的整体机制 如果不了解 先看这个   单点修改 单点查询 那么 线段树的区间操作呢  主要是使用了一个延迟标记 lazy标记(延迟标记、懒惰标记)

    来自 1900__
    00
  • avatar 1900__ 2018-08-04 17:32:43

    NYOJ116----线段树&&树状数组

    题目传送门~~戳一戳 线段树解法 注意数组大小,一般我们用线段树,都开四倍空间。但是这道题数据量是一百万,四倍开不了 所以我们就不能开四倍,而要计算一下空间,避免浪费。 计算方法就是  1000000  找到2的n次方刚好大于一百万的那个数  就是2的20次方是1048576 然后再拿10

    来自 1900__
    00
  • avatar 1900__ 2018-08-03 22:54:18

    线段树详解 一(单点更新 区间查询)

    例题   hdu1754   题目链接 这道题是线段树的  单点更新和区间查询最大值 (AC代码在最后) 通过这道题  理解下线段树 线段树的原理 关于原理   网上有很多讲解 大家可以自己学习   这里不单独赘述原理 而是结合代码讲解下   原理也不难  相信大家看了代码仔细看下边的解

    来自 1900__
    00
  • avatar 1900__ 2018-08-03 19:19:10

    hdu1864--dp

    dp水题 选择出有效数据        然后就是01背包 代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace

    来自 1900__
    00
  • avatar 1900__ 2018-08-03 14:27:16

    hdu4883-模拟---区间计数小技巧

    hdu4883 用一维数组模拟时间轴,某个时刻来了num个顾客,就在这个时间点累加num  并且再离开的时间点累加 -num 最后对整个数组   遍历累加  累加过程中最大的值 就是店内顾客同时吃饭最多的人数  也就是答案 代码 #include<cstdio> #includ

    来自 1900__
    00
  • avatar 1900__ 2018-08-03 10:40:17

    Kruscal算法---最小生成树

    Kruscal算法: Kruscal算法是加边。 记录每条路的权值,然后每次都选择权值最小的边加入集合,同时选中的每条边的两个点也用并查集合并, 直到所有的点都被加入了,就是最小生成树。 复杂度: 时间复杂度只和边有关系,O(E * logE)。 代码: hihocoder1098

    来自 1900__
    00
  • avatar 1900__ 2018-08-01 20:55:20

    01背包入门

    01背包入门问题 题意    背包体积为V    有n个物品 体积为v[i]  价值为w[i]    求解背包能装进去的物品最大价值 dp思路   我们用一个二维数组dp     dp[ i ][ j ]代表面对第i个物品时 且 背包容量为 j 时 背包内的最大价值 首先  判断 j  如

    来自 1900__
    00
  • avatar 1900__ 2018-07-31 19:56:23

    HDU1198-----并查集

    题目链接 用的并查集,据说这题还可以用dfs,没去写。 并查集模板 //total数组用来计数 //Find找根节点 //Merge 合并两个集合 int fa[N],total[N]; void init(int n){for(int i=0;i<=n;i++)fa[i]=i,tot

    来自 1900__
    00
  • avatar 1900__ 2018-07-30 20:55:19

    hdu1023-----卡特兰数

    原题链接点这里 这道题就是卡特兰数+大数 卡特兰数的两种解法 一、令h(0)=1,h(1)=1,catalan数满足递推式 : h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)*h(0) (n>=2) 二、递推式 h(n)=h(n-1)*(4

    来自 1900__
    00
  • avatar offer! 2019-08-16 17:56:20

    排序算法

    经历了两次面试,可能我的问题还是在于记忆和表达,有的东西其实是会的,你给我问题我能解决,也知道怎么在合适的时候应用合适的解决方案,但是面试的时候往往无法表达出,面试需要的能力往往和学习的能力不太一样。 所以我想写一下博客,把知识点整理一下,顺便练一下表达的能力,以后每次面试前来看一看。

    来自 offer!
    00
  • avatar 1900__ 2018-07-30 11:20:32

    hdu1133-----递推+大数

    题目:hdu1133 递推公式: F(N) =(m+n)!*(m-n+1)/(m+1); m n小于100  数字很大  需要用到大数 下面给出java写法 //package hdu1133大数; import java.io.BufferedInputStream; import

    来自 1900__
    00
  • avatar 1900__ 2018-07-30 10:51:26

    大数问题-----ACM中java的入门使用

    hdu1002  经典a+b   计算大数问题 一直知道大数用java计算很方便  但是一直没有去学,还是太懒了  唉 ~~T_T 先贴代码,后边会说一些简单的入门知识和注意事项 hdu1002 //package hdu1133大数; import java.io.*; import

    来自 1900__
    00
  • avatar 1900__ 2018-07-29 08:42:57

    最长公共子序列长度以及打印(动态规划入门)

    POJ1458原题链接 北大郭炜老师在mooc上讲的 算法基础的例题 代码也是按照讲的写的 方法呢就是 串 A 以 i 为结尾和串 B 以 j 为结尾的最长公共子序列长度  maxlen[i][j]=max(maxlen[i][j-1],maxlen[i-1][j]) 当A的第i-1字符个

    来自 1900__
    00
  • avatar 1900__ 2018-07-28 15:51:30

    hdu1257----贪心&&最长上升子序列(最少拦截系统)

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 55849    Accepted Submission(s): 2188

    来自 1900__
    00
  • avatar 1900__ 2018-08-24 15:54:45

    NYOJ1282部分和问题--DFS剪枝入门

    链接戳这里 这道题呢 是一个入门深搜  看到题目很明显的dfs   但是今天好好研究了下这道题  主要是想学习理解下剪枝的思想 题目 给你n个数(a1,a2,a3.......an) ,是否存在某一些数字加起来等于k,有就输出 "YES",否则输出 "NO&qu

    来自 1900__
    00
  • avatar savage 2019-08-16 17:59:02

    题解 | 回文数-牛客假日团队赛9L题

    题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个10进制数56,将56加56(即把56从右向左读),得到121是一个回文数。 又如:对于10进制数87: STEP1:     &n

    来自 savage
    00
  • avatar 1900__ 2018-07-29 11:05:04

    hdu1243----最长公共子序列

    原题链接 样例数据:   Sample Input 3 abc 1 1 1 abc ccc 3 abc 1 1 1 ccc aba Sample Output 1 0 求最长公共子序列的方法, 串 A 以 i 为结尾和串 B 以 j 为结尾的最长公共子序列长度  maxlen[i][j

    来自 1900__
    00
  • avatar 1900__ 2018-07-27 21:31:52

    hdu4540---DP入门

      状态转移方程    dp[k][i]=dp[k-1][j]+abs(a[k][i]-a[k-1][j]); #include<stdio.h> #include<iostream> #include<algorithm> #include<stri

    来自 1900__
    00
  • avatar 1900__ 2018-07-27 21:26:58

    hdu2084数塔----DP入门

    原题目传送 a[i][j]=max(a[i+1][j]+a[i][j],a[i+1][j+1]+a[i][j]); 代码 #include<stdio.h> #include<iostream> #include<algorithm> #include&l

    来自 1900__
    00
  • avatar 1900__ 2018-07-27 21:04:11

    codeforces Roud499Div2 B和C

    B题  数据不大   暴力枚举答案即可 Natasha is planning an expedition to Mars for n people. One of the important tasks is to provide food for each participant. The

    来自 1900__
    00
  • avatar 1900__ 2018-07-27 17:08:26

    prime算法-最小生成树

    算法的原理: 以一个点开始,将这个点加入点集U,然后在它能到达的所有点(且未被选择过)里,选择路径权值最小的点。将这个点也加入点集U,然后在点集U中所有的点能到达的点(且未被选择过)中选择一个路径权值最小的点加入U。直到所有点都被加进去。就是最小生成树。 复杂度: 时间复杂度为O(n2)。与图

    来自 1900__
    00
  • avatar 1900__ 2018-07-26 17:27:53

    C++STL优先队列详解及练习

    优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。通常采用堆数据结构来实现。-

    来自 1900__
    00
  • avatar 1900__ 2018-07-26 09:58:20

    并查集练习--hdu1232&&poj1611&&poj2524

    并查集模板 //total数组用来计数 //Find找根节点 //Merge 合并两个集合 int fa[N],total[N]; void init(int n){for(int i=0;i<=n;i++)fa[i]=i,total[i]=1;} int Find(int x){ret

    来自 1900__
    00
  • avatar 1900__ 2018-07-26 09:49:56

    素数筛选法--hdu4548美素数

    #include<algorithm> #include<stdio.h> #include<iostream> #include<math.h> #define maxn 1000010 using namespace std; int prime[

    来自 1900__
    00
  • avatar 1900__ 2018-07-25 21:36:28

    HihoCoder -1174---拓扑排序

    #include<stdio.h> #include<iostream> #include<algorithm> #include<vector> #include<queue> #include<string.h> using

    来自 1900__
    00
  • avatar 1900__ 2018-07-22 09:23:35

    CodeforcesRound#498 (Div.3)E题Military Problem

    简述题意: 给你一棵树,然后给你q次询问。每次给你u,k。让你打印第u个节点往下传达命令的顺序中(包括u本身),第k个人是几号。 解法思路: 预处理先裸跑dfs,将顺序存下,并且同时记录下当前节点的dfs遍历顺序a[i]以及当前节点的 子节点数量b[i]。 然后给你u,k。只要b[u]+1&

    来自 1900__
    00
  • avatar 1900__ 2018-06-11 16:58:54

    51Nod1019----归并排序(递归)

    链接51nod1019 归并排序 归并操作的工作原理如下:(摘自百度百科) 第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置 第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动

    来自 1900__
    00
  • avatar 1900__ 2018-06-07 14:06:58

    最大连续区间和算法详解+代码

    写在前边 本篇主要记录了最大连续区间和的暴力算法和dp算法(三种写法) 以及讲解了求最大区间和的区间左右下标的方法 ----------------------------------------------------------------------------------- 问题概述

    来自 1900__
    00
  • avatar 1900__ 2018-06-02 08:27:46

    选数-DFS

    题目链接  洛谷OJ1036选数 Description 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7

    来自 1900__
    00
  • avatar 1900__ 2018-05-22 21:19:38

    codeforces Div.2(5.21)B题

    You are given n switches and m lamps. The i-th switch turns on some subset of the lamps. This information is given as the matrix a consisting of n row

    来自 1900__
    00
  • avatar 1900__ 2018-05-15 16:20:14

    最小生成树prim算法

    Input 输入的第一行包含一个正整数n,表示图***有n个顶点。其中n不超过50。 以后的n行中每行有n个用空格隔开的整数,对于第i行的第j个整数,如果不为0,则表示第i个顶点和第j个顶点有直接连接且代价为相应的值,0表示没有直接连接。当i和j相等的时候,保证对应的整数为0。 输入保证邻

    来自 1900__
    01
  • avatar 1900__ 2018-05-13 17:57:19

    Dijkstra算法(单源最短路)

    Dijkstra算法 算法的基本思想就是 从起点开始  找到距离它最短的点 然后从那个点出发 更新相邻顶点的最短距离 下面用这个图当作例子解释一下   A是起点 数组d来表示起点到各个点的最短距离  刚开始A除了到B C剩下的都到不了 是INF 第一轮找出最短的 是B 然后A到B的距离是

    来自 1900__
    00
  • avatar 1900__ 2018-05-04 17:34:01

    判断完全二叉树(顺序存储)

    Description 假如对二叉树T和具有相同高度的满二叉树编号,如果T与满二叉树相同编号的节点位置相同,那么称二叉树T是一棵完全二叉树。现在根据边的连接情况判断一棵树是否是完全二叉树。 Input 输入分两部分:第一部分:一个整数T,代表测试组数第二部分:接下来有T组数据,每组的第一行

    来自 1900__
    00
  • avatar 1900__ 2018-05-04 15:34:25

    线索二叉树(C语言)

    Input 输入只有一行,包含一个字符串S,用来建立二叉树。保证S为合法的二叉树先序遍历字符串,节点内容只有大写字母,且S的长度不超过100。 Output 共一行,包含一串字符,表示按中序遍历二叉线索树得出的节点内容,每个字母后输出一个空格。请注意行尾输出换行。 Sample Inpu

    来自 1900__
    00
  • avatar 1900__ 2018-05-02 08:05:43

    大数阶乘 1977!

    Description 编写一个程序,计算1977!的值   #include<stdio.h> int main() { int r[100000]={1}; int i,j; int k=0,l=0; for(i=1;i<=1

    来自 1900__
    00
  • avatar 1900__ 2018-08-03 09:26:46

    hdu1166------树状数组(板子)

    题目 树状数组 查询和修改的时间复杂度都是log(n),空间复杂度则为O(n) 原理 add()函数用来给树状数组按照他的规则赋值 结合lowbit转换函数使用 int lowbit(int x){ return x&(-x); } void add(int i,i

    来自 1900__
    00
  • avatar 1900__ 2018-07-22 09:33:53

    并查集详解

    网上看到一个聚聚写的并查集,清晰生动,很不错; 原博客戳这里 例子就是杭电上的畅通工程: http://acm.hdu.edu.cn/showproblem.php?pid=1232 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是

    来自 1900__
    00
  • avatar 1900__ 2018-05-23 09:48:21

    位运算技巧

    位运算加速技巧1. 如果乘上一个2的倍数数值,可以改用左移运算(Left Shift) 加速 300% x = x * 2;x = x * 64;//改为:x = x << 1; // 2 = 21x = x << 6; // 64 = 26 2. 如果除上一个 2 的倍数数

    来自 1900__
    00
  • avatar 1900__ 2018-05-01 10:42:39

    位运算初步入门&&状态压缩操作

    位运算 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。 位运算的用处很多,也很强大。 首先再学习位运算之前,我们先复习以下,编码知识   在计算机中,正数是直接用原码表示的,如5,在计算机中就表示为:0000 0101。 负数用补码

    来自 1900__
    00
  • avatar 1900__ 2018-04-27 23:04:32

    求树的高(深度)

    Description 给定一颗二叉树的先序序列,求该二叉树的高。 Input 输入包括两部分第一部分:一个正整数n,代表有n颗二叉树第二部分:包括n行,每行代表一颗二叉树的先序遍历序列,空指针用字符^占位 Output n行,每行一个整数,代表对应二叉树的高度 Sample In

    来自 1900__
    00
  • avatar 1900__ 2018-04-24 16:58:03

    已知二叉树的后序和中序遍历结果 求前序结果

      Description 题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So easy!)。 Input 输入有多组数据(少于100组),以文件结尾结束。 每组数据仅一行,包括两个字符串,中间用空格隔开,分别表示二叉树的后序和中序序列(字符串长度小于26,输入数据保证合法)

    来自 1900__
    00
  • avatar 1900__ 2018-04-17 22:13:34

    快速排序算法

    Quicksort 快速排序(Quicksort)是对冒泡排序的一种改进。 复杂度 最坏情况是 O(n^n) 平均时间复杂度是O(nlogn) 算法思想: 对于一个待排序的数列,我们先任取一个数(一般我们选第一个数)作为基准数,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面

    来自 1900__
    00
  • avatar 1900__ 2018-04-16 18:02:14

    杭电acm题目分类

    1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 经典问题,最近点对问题,用分治1008 简单题1009 贪心1010 搜索题,剪枝很关键1011 1012 简单题1013 简单题(有个小陷阱)10

    来自 1900__
    00
  • avatar 1900__ 2018-04-08 22:14:40

    数据结构 二叉树的递归建立和递归遍历

    先序建立  中序建立  后序建立 先序遍历  中序遍历  后序遍历 求树的深度 #include<stdio.h> #include<math.h> #include<stdlib.h> typedef struct node{ char ch;

    来自 1900__
    00
  • avatar 1900__ 2018-04-08 22:13:05

    数据结构 统计二叉树中度为0,1和2的结点个数

    Description 给定先序序列,按照该序列创建对应的二叉树,并输出该二叉树度为0,1和2的结点个数。 Input 一行,二叉树按先序遍历序列,空指针用字符^占位 Output 一行,三个整数分别代表该二叉树度为0,1和2的结点个数 Sample Input ABD^^^CE^^

    来自 1900__
    00
  • avatar Y_is_sunshine 2019-08-16 18:06:57

    状态压缩DP 洛谷P1896

    //MADE BY Y_is_sunshine; //#include <bits/stdc++.h> //#include <memory.h> #include <algorithm> #include <iostream> #include &l

    来自 Y_is_sunshine
    00
  • avatar 1900__ 2018-04-08 18:31:30

    三点顺序(计算几何入门)

    Description   现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的? 如: 图1:顺时针给出 图2:逆时针给出 Input 每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示A

    来自 1900__
    00
  • avatar 1900__ 2018-04-05 00:09:48

    数据结构 周末舞会(循环队列解法)

    Description 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。 Input 第一行男士人数

    来自 1900__
    00
  • avatar 1900__ 2018-04-02 22:20:47

    《破损的键盘》链表

    题目 你有一个破损的键盘。键盘上的所有键都可以正常工作,但有时Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心地打稿子,甚至连显示器都没打开。当你打开显示器之后,展现在你面前的是一段悲剧的文本。你的任务是在打开显示器之前计算出这段悲剧文本。对于每组数据,输出一行,即屏幕

    来自 1900__
    00
  • avatar 1900__ 2018-04-02 21:49:36

    后缀表达式----栈

    Input 若干行,每行对应一个中缀表达式 Output 若干行,每行对应一个由中缀表达式转换而来的后缀表达式     Sample Input X+A*(Y-B)-Z/F A+B*C+(D*M-N)+(S-T)*Y A-B*C+(D-E*F)/G Sample Output

    来自 1900__
    00
  • avatar Holland_Pig 2019-08-16 18:08:36

    智力大冲浪 Editional

    因为题中的小游戏都是在1分钟完成的,所以我们并不需要考虑时间所带来的影响,和背包问题就有所不同,可以直接上贪心来做。 首先,先完成会罚款高的游戏明显明显更有益(时间消耗相同),所以,先要对游戏的罚款进行排序(从大到小)。 其次,排完序后,就要考虑这个游戏放在那个时间来做,很明显,我们要先

    来自 Holland_Pig
    10
  • avatar 1900__ 2018-04-30 13:47:28

    GCD和exgcd

    GCD最大公约数 辗转相除法(又称欧几里得算法) 当时,;否则 递归或循环运算得出结果。 #include<stdio.h> #include<iostream> #include<algorithm> using namespace std; int

    来自 1900__
    00
  • avatar Les1ie 2019-08-16 18:09:29

    计算机网络中常见协议整理

    综述 整理计算机网络中的常见协议,并简单罗列一些特性。 应用层 DNS 域名系统域名三大类: 域名级别 说明 国家顶级域名 cn、us等 通用顶级域名 com、net等 基础结构域名 arpa,只有一个,用于反向域名解析 域名服务器: 域名服务器级别 说明

    来自 Les1ie
    00
  • avatar 1900__ 2018-04-08 13:42:01

    迷宫 DFS (C语言实现)

    Description 有一个 10 x 10 的迷宫,起点是‘S’,终点是‘E’,墙是‘#’,道路是空格。一个机器人从起点走到终点。当机器人走到一个通道块,前面已经没有路可走时,它会转向到当前面向的右手方向继续走。如果机器人能够过,则留下足迹‘*’,如果走不通,则留下标记‘!’。下面给出书中的算

    来自 1900__
    00
  • avatar 1900__ 2018-04-15 20:50:01

    判断是否为完全二叉树

    给定一棵二叉树的先序序列,判断是否是一颗完全二叉树 利用队列  代码: #include<stdio.h> #include<malloc.h> #include<string.h> //二叉树 typedef struct{ char ch; }T_Elem

    来自 1900__
    00
  • avatar 单林敏 2019-08-16 18:10:39

    题解 | 《算法竞赛进阶指南》你能回答这些问题吗

    背景 2019牛客杭电多校都把线段树当做最最最基础的知识点,杭电3甚至把线段树当做签到,所以线段树要多练啊 题目 你能回答这些问题吗 算法 线段树入门题 O(Mlog(N)) 一步步思考线段树过程 关键点 不能简单的对比对比左右子区间的dat和值(区间最大和值)来更新本节点的区间最大和值,还要对比右

    来自 单林敏
    10
  • avatar crabxmz 2019-08-16 18:35:46

    2019.8.16

    YJJ's Salesman https://cn.vjudge.net/problem/HDU-6447 坑:更新的顺序,x相同的时候用队列缓存 详解:https://blog.csdn.net/xianpingping/article/details/82055830

    来自 crabxmz
    00
  • avatar BruceYan 2019-08-16 18:51:07

    344. 反转字符串-双指针(易)

    题目描述 链接: https://leetcode-cn.com/problems/reverse-string/submissions/编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(

    来自 BruceYan
    00
  • avatar YZBPXX; 2019-08-16 18:57:50

    hdu 1541Stars

    http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目描述:给你n个星星的二维坐标星星的等级等于它左下角的星星的数量  现在让你输出每个等级有所少个星星 1<=N<=15000,,0<=X,Y<=32000 分析:

    来自 YZBPXX;
    00
  • avatar 恁村扛把子🇨🇳 2019-08-16 19:54:43
  • avatar 哇鸭鸭鸭 2019-08-16 19:59:52

    KMP

    KMP模板 #include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> #include <vector> using namespace s

    来自 哇鸭鸭鸭
    00
  • avatar 恁村扛把子🇨🇳 2019-08-16 20:01:09

    2.各种控制格式

    #include<iostream> #include <iomanip>//不要忘记包含此头文件 using namespace std; int main() { 1. int a; 2. cout<<"input a:"; 3. c

  • avatar 恁村扛把子🇨🇳 2019-08-16 20:12:52

    3.进制的互相转化.

    //将十进制化为二进制 #include<bitset> cout<<bit<sizeof(n*2)>(n)<<endl;//2.4.8控制几位; //化为八进制十六进制 cout<<oct<<n<<endl; co

  • avatar Mappple 2019-08-16 20:13:23

    No.0002 Add Two Numbers

    https://leetcode-cn.com/problems/add-two-numbers/ 复杂度: 时间复杂度: 空间复杂度: /** * Definition for singly-linked list. * public class ListNode { * i

    来自 Mappple
    00
  • avatar 龍木 2019-08-09 14:08:32

    3621问题 E: 区间求和

    题目链接:http://acm.ocrosoft.com/contest.php?cid=1690 题目描述 给定一数列,规定有两种操作,一是修改某个元素,二是求区间的连续和。 输入 输入数据第一行包含两个正整数n,m(n<=100000,m<=500000),以下是m行, 输

    来自 龍木
    00
  • avatar 龍木 2019-07-27 22:50:06

    camp训练总结(2)

    今天是camp的第6天,也是倒数第二天。 今天早上是wls讲课,讲得是dp,wls的过渡讲解(从易到难)让我受益匪浅,可惜的是讲到一半由于wls太累了(应该是生病了吧)暂停了讲课。 下午打训练赛,打的是2013的南京区域赛,这次还好至少签到题(A和J)都没有出现一些不必要的错误。之后开了B题,B

    来自 龍木
    00
  • avatar 龍木 2019-07-26 23:01:26

    camp训练总结(1)

    今天是camp的第5天(严格意义上)。 今天早上听了温老师的数据结构,一开始讲得队列与栈因为之前就学过(但经过今天的讲解,我的理解加深了许多,之前更多的是拿它当做工具来用,而不知道原理),之后渐渐难度加深,有些力不从心了(特别是讲到树状数组和线段树,感觉跟着老师走没问题,但回想起来自己根本理不清q

    来自 龍木
    00
  • avatar 龍木 2019-07-24 23:40:13

    Problem F Mountain Scenes

    这是一道naipc里的题,题目链接:https://vjudge.net/contest/313660#problem/F An artist begins with a roll of ribbon, one inch wide. She clips it into pieces of vari

    来自 龍木
    00
  • avatar 龍木 2019-07-22 12:57:13

    A - Clothes

    A little boy Gerald entered a clothes shop and found out something very unpleasant: not all clothes turns out to match. For example, Gerald noticed th

    来自 龍木
    00
  • avatar 龍木 2019-07-21 19:36:22

    L - Love Triangle

    As you could know there are no male planes nor female planes. However, each plane on Earth likes some other plane. There are n planes on Earth, number

    来自 龍木
    00
  • avatar 龍木 2019-07-15 15:31:29

    3708 问题 B: 选课

    题目链接:http://acm.ocrosoft.com/problem.php?cid=1695&pid=1 题目描述     大学里实行学分。每门课程都有一定的学分,学生只要选修了这门课并考核通过就能获得相应的学分。学生最后的学分是他选修的各门课的学分的总和。      每个学生都

    来自 龍木
    00
  • avatar 龍木 2019-07-15 10:40:15

    [2] 3710 问题 D: 战略游戏

    题目链接:http://acm.ocrosoft.com/problem.php?cid=1695&pid=3 题目描述:Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。 他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数

    来自 龍木
    00
  • avatar 龍木 2019-07-15 10:14:45

    [1] 3714 问题 H: 周年纪念晚会

    题目链接:http://acm.ocrosoft.com/problem.php?cid=1695&pid=7 题目描述:人Ural周立大学的校长正在筹备学校的80周年纪念聚会。由于学校的职员有不同的职务级别,可以构成一棵以校长为根的人事关系树。每个职员都有一个唯一的整数编号(范围在1到N

    来自 龍木
    00
  • avatar 龍木 2019-07-14 13:13:19

    一)408.奶牛碑文

      一)408.奶牛碑文 约翰和他的奶牛在大草原漫游,在一块石头上发现了一些有趣的碑文。碑文似乎是一个神秘古老的语言,只包括三个大写字母 C、O 和 W。尽管约翰看不懂,但是令他高兴的是,C、O、W的顺序形式构成了一句他最喜欢的奶牛单词“COW”。现在,他想知道有多少次 COW 出现在文本中。如果

    来自 龍木
    00