HH实习 acm算法部 1689】的更多相关文章

题目描述 这学期到了十五周了,HH突然要去实训中心实习了,想到要拿着钳子,锯子什么的,头就有点大了,因为它挺好玩的,但是,也是很累的,看着学弟坐在机房悠闲地敲着代码,HH学长决定要让他们好好忙忙,这道题就是为了你们而出的,学弟们,加油! 问题很简单,只是需要动手就够了,要求是,给你n米长的钢筋,钢筋大家都知道吧?就是一根钢条,钢条大家都知道吧?不知道的回家问麻麻,目的很简单,让你自己动手把这一根很长的钢筋切成M段,保证他们中的任意三段都不能构成三角形,听起来会感觉乱乱的,其实我要的答案很简单,就…
HH实习 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 44  Solved: 29 [Submit][id=1287">Status][pid=1287">Web Board] Description 这学期到了十五周了.HH突然要去实训中心实习了,想到要拿着钳子,锯子什么的,头就有点大了.由于它挺好玩的,可是,也是非常累的.看着学弟坐在机房悠闲地敲着代码,HH学长决定要让他们好好忙忙.这道题就是为了你们而出的.学弟们.加…
本博客为长安大学ACM竞赛部的公共博客,记录长大ACMer的成长点滴. 开此博客,诸君共勉.…
ACM,算法 描述 最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数.他已经知道了第一个小光棍数是471,471的三次方是104487111,现在他想知道第m(m<=10000000000)个小光棍数是多少?   输入 有多组测试数据.第一行一个整数n,表示有n组测试数据.接下来的每行有一个整数m. 输出 输出第m个小光棍数. 样例输入 1 1 样例输出 471 #include <iostream> #include <str…
ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)…
STL 中 sort 函数用法简介 做 ACM 题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错. STL 里面有个 sort 函数,可以直接对数组排序,复杂度为 n*log2(n) . 使用这个函数,需要包含头文件#include <algorithm>. 这个函数可以传两个参数或三个参数.第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址.也就是说,排序的区间是 [a,b) .简单…
动态规划 1.背包问题 (1)01背包 ,n) DFR(v,V,C[i]) F[v]=max(F[v],F[v-C[i]]+W[i]); } //初始化时 //若背包不一定装满F全初始化为0 //若装满 F[0]=0 其他为-inf   (2)全然背包 ,n) FOR(v,C[i],V) {F[v]=max(F[v],F[v-C[i]]+W[i]);} } (3)多重背包 ; ZeroOnePack(C[i]*M[i],W{i]*M[i]) } }   //O(VN) 单调队列? ? (4)多重…
1. 几何 4 1.1 注意 4 1.2 几何公式 4 1.3 多边形 6 1.4 多边形切割 9 1.5 浮点函数 10 1.6 面积 15 1.7 球面 16 1.8 三角形 17 1.9 三维几何 19 1.10 凸包 26 1.11 网格 28 1.12 圆 28 1.13 整数函数 30 2. 组合 33 2.1 组合公式 33 2.2 排列组合生成 33 2.3 生成gray码 35 2.4 置换(polya) 35 2.5 字典序全排列 36 2.6 字典序组合 36 3. 结构…
一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输出到文本文 件中) 4,图(基本概念,存储结构,图的运算) 数学知识 1,离散数学知识的应用(如排列组合.简单的图论,数理逻辑) 2,数论知识 3,线性代数 4,组合代数 5,计算几何 二 算法 1,排序算法(冒抛法,插入排序,合并排序,快速排序,堆排序) 2,查找(顺序查找,二分发) 3,回溯算法 4,递归算法…
史诗级ACM模板整理 基本语法 字符串函数 istream& getline (char* s, streamsize n ); istream& getline (char* s, streamsize n, char delim ); istream& getline (istream& is, string& str, char delim); istream& getline (istream& is, string& str); c…
参考:http://bbs.byr.cn/#!article/ACM_ICPC/11777 OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一.基本算法: (1)枚举. (poj1753,poj2965)    (2)贪心(poj1328,poj2109,poj2586)    (3)递归和分治法.     (4)递推.     (5)构造法.(po…
数学问题: 1.精度计算——大数阶乘 2.精度计算——乘法(大数乘小数) 3.精度计算——乘法(大数乘大数) 4.精度计算——加法 5.精度计算——减法 6.任意进制转换 7.最大公约数.最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.求排列组合数 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 计算几何: 1.叉乘法求任意多边形面积 2.求三角形面积 3.两矢量间角度 4.两点距离(2D.3D) 5.射向法判断点是…
  一.数论算法 1.求两数的最大公约数 2.求两数的最小公倍数 3.素数的求法 A.小范围内判断一个数是否为质数: B.判断longint范围内的数是否为素数(包含求50000以内的素数表): 二.图论算法 1.最小生成树 A.Prim算法: B.Kruskal算法:(贪心) 按权值递增顺序删去图中的边,若不形成回路则将此边加入最小生成树. 2.最短路径 A.标号法求解单源点最短路径: B.Floyed算法求解所有顶点对之间的最短路径: C. Dijkstra 算法: 3.计算图的传递闭包 4…
一.Java之ACM易错点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非常之垃圾 3. 有些OJ上的题目会直接将OI上的题目拷贝过来,所以即便是题目中有输入和输出文件,可能也不需要,因为在OJ系统中一般是采用标准输入输出,不需要文件 4. 在有多行数据输入的情况下,一般这样处理: static Scanner in = new Scanner(System.in); w…
字符串算法 -- Manacher算法 首先介绍基础入门知识,以下这部分来着一贴吧,由于是很久之前看的,最近才整理一下,发现没有保存链接,请原创楼主见谅. //首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长. //这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文有多长, //这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了. //这一点一直是在做回文串问题中时比较烦的地方.这个算法还有一个很…
1. Sunday算法是Daniel M.Sunday于1990年提出的一种比BM算法搜索速度更快的算法. 2. Sunday算法其实思想跟BM算法很相似,只不过Sunday算法是从前往后匹配, 在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符. 如果该字符没有在匹配串中出现则直接跳过,即移动步长= 匹配串长度+ 1: 否则,同BM算法一样其移动步长=匹配串中最右端的该字符到末尾的距离+1. 3. 举例如下: //pos=0; //匹配串:abcdacdaahfacabcdabcde…
pala提出的问题: 十本不同的书放在书架上.现重新摆放,使每本书都不在原来放的位置.有几种摆法?  这个问题推广一下,就是错排问题: n个有序的元素应有n!种不同的排列.如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排.   HDOJ RPG的错排 Problem Description 今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁.RPG给他机会让他猜猜,第一次猜:R是公主,P是草儿,G是月野兔:第…
数据结构 栈,队列,链表 •哈希表,哈希数组 •堆,优先队列 双端队列 可并堆 左偏堆 •二叉查找树 Treap 伸展树 •并查集 集合计数问题 二分图的识别 •平衡二叉树 •二叉排序树 •线段树 一维线段树 二维线段树 •树状数组 一维树状数组 N维树状数组 •字典树 •后缀数组,后缀树 •块状链表 •哈夫曼树 •桶,跳跃表 •Trie树(静态建树.动态建树) •AC自动机 •LCA和RMQ问题 •KMP算法 ******************************************…
目录 快速幂 快速幂取模 矩阵快速幂 矩阵快速幂取模 HDU1005练习 快速幂 ​ 幂运算:\(x ^ n\) ​ 根据其一般定义我们可以简单实现其非负整数情况下的函数 定义法: int Pow (int x, int n) { int result = 1; while(n--) { result *= x; } return result; } ​ 不难看出此时算法的时间复杂度是\(O(n)\),一旦n取较大数值,计算时间就会大大增加,极其容易出现超时的情况. 快速幂: ​ 首先要在此列举…
具体的题目描述点此链接                http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1164 这道题,说实话 ,我不懂-.- 我先把这个代码粘在这,具体的这个原因我再研究研究~ #include<stdio.h> #define Generator 34943 int main() { unsigned char c,flag; int count;//一行中的字符数 //CRC的数据结构 union…
旧版模板下载链接: here 新版的模板目前不提供电子版,正在抽时间做一些修正以及添加一些新内容. 新模板如有需要纸质版的,可以自付打印费进行打印.购买链接:https://weidian.com/item.html?itemID=2024570390 如有问题,Feel free to contact with me. QQ:1691626124 WeChat: kuangbin1234 Thanks.…
杂乱小模板 状态压缩dp小技巧 x&-x是取x的最后一个1的位置. x-=x&-x是去掉x的最后一个1. 读入外挂 int nxt_int(){// neg or pos    char ch;    int flag = 0, tmp = 0;    for (ch = getchar(); ch < '0' || ch > '9'; ch = getchar())      if (ch == int('-')) break;    if (ch == int('-')) …
位  运  算 程序中的所有数在计算机内存中都是以二进制的形式储存的.位运算说穿了,就是直接对整数在内存中的二进制位进行操作.运位算包括位逻辑运算和移位运算,位逻辑运算能够方便地设置或屏蔽内存中某个字节的一位或几位,也可以对两个数按位相加等:移位运算可以对内存中某个二进制数左移或右移几位等. 计算机内部是以补码形式存放数值的.C语言提供了六种位运算 位运算符及含义 位 运 算 符 含   义 举   例 &(and) 按位与 a&b |(or) 按位或 a|b ^(xor) 按位异或 a^…
题目如下: 比如现在要写一句话 Hello world 输入: n (n > 0) 比如输入的n为10,就将Hello world打印十 #include <stdio.h> #include <string.h> int main(){ char str[201]; int cnt ; gets(str); while(scanf("%d",&cnt) == 1){ //scanf在这里是有返回值的,输出一个参数返回1,输出N个参数返回n whi…
素数的两种打表法 下面介绍两种素数打表法,由于是两年前留下的笔记,所以没有原创链接~~ @_@!! 第一种疯狂打表法: #include<stdio.h> #include<math.h> #define N 100000 int a[N]; ]; int main() { int i,j,k,n; ;i<=N;i++)//初始化表一 a[i]=; n=(int)sqrt(N);//注意n!!! ;i<=n;i++)//表一进行打表 { for(j=i+i;j<=…
     DP -- Humble numbers  //一开始理解错题意了,题意是是说一些只有唯一一个质因数(质因数只包括2,3,5,7)组成的数组,请找出第n个数是多少 //无疑,先打表,否则果断超时 #include <iostream> using namespace std; ]; ] = {, , , }; ]; int main() { int i,j; ; i < ; i++) a[i] = ; ans[] = ; ; i < ; i++) { ; ; j <…
      HDOJ -- Phone list解题报告 问题描述:给出一些电话号码,如果有共同前缀则输出NO,如果没有则输出YES. 解题关键:将电话号码进行字符串排序,相邻的电话号码进行比较 Sample Input 2 3 911 97625999 91125426 5 113 12340 123440 12345 98346 Sample Output NO YES 代码如下: #include <iostream> #include <string> #include &…
 逆波兰表达式 //问题描述:逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2+3的 //逆波兰表达式法为+ 2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也不必 //用括号改变运算次序.例如(2+3)*4的逆波兰表达式法为*+2 3 4.本题求解逆波兰表 //达式的值,其中运算符包括+.-.*./ 四个. //输入数据:输入为一行其中运算符和运算数之间都用空格分隔,运算数都是浮点数. //输出要求:输出为一行,即表达式的值. //输入样例:* + 11.0 12.0 +…
    KMP -- POJ3461解题报告 问题描述:给出字符串P和字符串T,问字符串P在字符串T中出现的次数 Sample Input 3 BAPC BAPC AZA AZAZAZA VERDI AVERDXIVYERDIAN Sample Output 1 3 0 简单KMP应用, 代码如下: //poj3461解题报告 #include<iostream> using namespace std; ], P[]; int len1, len2; ]; void getnext(char…
hdoj 1321 反转句子字母顺序 ac 2011/10/05 #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { int n; cin>>n; cin.ignore();//不可省略 ]; while(n--) { cin.getline(a,); strrev(a); cout<<a<<endl;…