03 2020 档案
摘要:比赛链接: http://oj.hzjingma.com/contest/view?id=89 A. 试题A:可爱的倍数 5' 题解:直接取101-200即可 为什么我傻不拉几的去计算质数了 C. 试题C:斐波那契数列 10' 题解:我用的矩阵快速幂(这题套模板即可) 或者:输出前200200项,发
阅读全文
摘要:题目链接: HDU - 1116 题意: 判断上一个单词的最后一个字母和下一个单词的第一个字母是否相同 直接暴力WA AC代码: 1 #include<iostream> 2 #include<stdio.h> 3 #include<string.h> 4 #include<vector> 5 #i
阅读全文
摘要:队列 特点:先进先出 队列的图: 队列的基本操作: #include<stdio.h> #include<queue>//队列的头文件 using namespace std;//这个也一定要写 //需求:利用queue把1、2、3、4、5都入队,然后依次取出2 queue<int>Q;//设置一个
阅读全文
摘要:文件的一些相关操作: java.io.File类 计算机系统中的文件和文件夹 File不能访问文件内容本身,访问文件内容本身需要使用输入输出流文件流;缓冲流 数据流的读写基于内存的操作 import java.io.File; import java.io.IOException; public c
阅读全文
摘要:保证元素的唯一性是compareTo()方法,只根据compare之后进行去重 数据结构:二叉树 TreeSet的第一种排序方式: 让元素自身具备比较性。 元素需要实现comparable接口,覆写compareTo方法。TressSer第二种排序方式:当元素自身不具备比较性时,或者具备的比较性不是
阅读全文
摘要:题目链接: https://codeforces.com/contest/1325/problem/D 题意: 给出x、y两个数,求一个最短数组,要求该数组异或和为x,总和为y 思路: 因为x^w^w=x,所以可以判断最短数组长度为2或者3 再从y-x中判断,如果y-x是一个奇数,说明x或者y中是一
阅读全文
摘要:题目链接: http://oj.ecustacm.cn/problem.php?id=1404 思路: 经典八皇后变形问题 标记行、判断列和两条对角线即可 先下黑皇后,下完后再去下白皇后 注意:这一题是1可以放,0不可以放 判断方式: int check(int *queen,int x)//判断列
阅读全文
摘要:题目链接: POJ - 1521 题意:求哈夫曼树 输出哈夫曼树的顶点值ans(ans如果为0就输出字符串的长度len)、ans*8、len/ans 思路: 优先队列即可 AC代码: #include<stdio.h> #include<iostream> #include<string.h> #i
阅读全文
摘要:CodeForces - 1325C 题意: 给出n-1行结点和结点的连接, 要求给每一条边编号(0~n-2)求任意两个结点的路径中没有出现的最小数字 思路:把所有点的入度统计一下,再统计一下叶子结点个数,最后叶子结点从0开始编号,其他节点从叶子结点个数开始编号即可,因为是从0开始 注意:输出不一定
阅读全文
摘要:java集合简单介绍 存放在java.util包中,集合可以存放不同的数据类型 java集合分为Set、List、Map 下面所说的有序和无序不是指集合中的排序,而是是否按照元素添加的顺序来存储对象。 Set:无序、不可重复 List:有序、可重复 Map:具有映射关系 Set 遍历set集合中的元
阅读全文
摘要:下面这两行代码表达的意思是一样的。 int* p,q; int *p,q;//一个指针类型p,一个int变量q 变量的值是内存的地址 指针变量的值是具有实际值的变量的地址 *访问指针的值所表示的地址上的变量 *p代表一个int整体 void dfs(int *p) { } 调用的时候 dfs(&x)
阅读全文
摘要:题意: 给出n、m,接下去给出n行m列的状态(只有0或1), 只能在1的位置种植,并且如果这块地方种植了,那么其上下左右,也就是相邻部分不可种植, 问:总共有多少种种草方案。 思路:状压dp入门 状压dp求解什么样的问题? 数据范围比较小;简单算法无法解决。 一般动态规划无法解决,因为一般的dp转移
阅读全文
摘要:题意: 给出一个n,代表一棵树有n个结点,接下去给出 n - 1 行,代表两个相连的结点 从小到大输出结点,结点满足的条件:当删去这个结点和与它相邻的边后,剩下的每一部分的节点都 ≤ n/2 思路: 用vector存邻边 从小到大输出结点 >book标记最后再for循环遍历一遍即可 node数组存储
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5976 题意: 把一个数拆成几个不相同的数,求这些数的乘积的最大值。 思路: 使一个数n乘积最大,拆成两个数x、y > 则x、y接近n/2,再去进行拆分; 但是题意给的是不相同的多个数,所以最优解则是
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/519/B 题意: 给出n,再给出三行,分别是n、n-1、n-2个数,输出每一行比上一行缺失的数字。 总感觉自己的脑回路永远想不到最简单的办法 然后就是,水题也可以学到东西,况且这是我觉得水但是我没AC的题
阅读全文
摘要:题目链接: http://codeforces.com/problemset/problem/270/A 题意: 给出n个数,判断每个数x是否能构成一个正多边形的内角。 思路: 根据多边形外角和恒等于360度,所以可以从这里入手; 假设该角度为x,则其外角为180-x; 所以如果其外角可以被360整
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/520/B 题意:给出n和m,问从n变到m最少需要几步(有两种操作:乘2或者减1) 思路:本来想着贪心做的,但是失败了。 后来直接简化代码,从m入手,判断m的奇偶,如果为奇数,则n无法通过乘2变成m,所以需要
阅读全文
摘要:用n条直线,划分平面,最多能够划分为多少块? (n+1)*n/2+1 3->7 3047 位移运算 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=3047 题意: 给出两个数a,b。问a能否只通过位移运算( >>和 << 可以多
阅读全文
摘要:CodeForces - 1324C 题意: 给出字符串1-len 一只青蛙需要从0位置跳到len+1的位置 每次跳到L需要往回 L-d 跳,跳到R就继续往右跳 R+d 问d最大是多少 思路:d最大取决于任意两个R之间的最大距离,因为一定会跳到len+1的位置,所以应该在最后一位加上R #inclu
阅读全文
摘要:线段树变形~ AC代码: 1 #include<stdio.h> 2 #include<iostream> 3 #include<string.h> 4 #include<algorithm> 5 #include<queue> 6 using namespace std; 7 #define in
阅读全文
摘要:题目链接:HDU - 1542 样例: Sample Input 2 10 10 20 20 15 15 25 25.5 0 Sample Output Test case #1 Total explored area: 180.00 题意:给出一个n,n≠0,给出n行数据,每一行给出一个矩形的左下
阅读全文
摘要:题面: Starting with x and repeatedly multiplying by x, we can compute x31 with thirty multiplications: x2 = x × x, x3 = x2 × x, x4 = x3 × x, …, x31 = x3
阅读全文
摘要:题面: Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] means the number in the i-th row and j-th column. Initially we have A[i, j] = 0 (
阅读全文
摘要:题目链接:CodeForces - 1321E 题意:给出一串长度为n的字符串,遍历整个字符串,若该字符的前或后一个字符是字典序在该字符在字典序的前一位,就可以删除 问:最多能够删除多少个 思路:如果直接遍历暴力判断,第一组样例就可以看出不对 所以最优选择就是从z开始到a去遍历整个字符串 给两组另外
阅读全文
摘要:安装MySQL网址: https://www.mysql.com/downloads/,进入页面后拉到底部选择 MySQL Community Server 即可。 配置环境变量,在 ~/.zshrc 文件中添加如下代码: alias mysql=/usr/local/mysql/bin/mysql
阅读全文
摘要:int等是基本类型,class包括interface、String)的本质是数据类型。 JVM动态加载class,类似于C语言用到的时候去调用函数,用不到的时候可能永远不会调用 class实例是JVM内部创建的,class类的构造方法是private,只有JVM能创建class实例,我们自己的Jav
阅读全文
摘要:调用方获知调用失败的信息:约定返回错误码(常见于底层C函数);在语言层面上提供一个异常处理机制。 Throwable有两个体系:Error和Exception,Error表示严重的错误,程序对此一般无能为力;Exception则是运行时的错误,它可以被捕获并处理。 NoClassDefFoundEr
阅读全文
摘要:##题意 给出n个相邻的村庄,q个操作 D代表损坏一个村庄 R代表修复村庄 Q代表查询给定的村庄和多少个村庄相邻 ##思路 反正我还是没有想通为什么是用线段树这个算法来解决的。 ##AC代码 #include<stdio.h> #include<string.h> #include<iostream
阅读全文
摘要:string名字+‘toUpperCase()’:全变大写 两个字符串比较,必须总是使用equals()方法:s1.equals(s2) 要忽略大小写比较,使用equalsIgnoreCase()方法。 判断是否包含子串:"s1内容".contains("s2内容") 第一个匹配项位置:"s1内容"
阅读全文
摘要:生日快乐 面向对象的基本概念:类、实例、方法 面向对象的实现方式:继承、多态 JAVA语言本身提供的机制:package、classpath、jar JAVA标准库提供的核心类:字符串、包装类型、JavaBean、枚举、常用工具类 字段:int类型的字段、string... ;field的意思是“字
阅读全文
摘要:某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人
阅读全文
摘要:题面: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 Output 对每个测试用例输出1
阅读全文
摘要:简单dp写起来都存在问题,稍微难一点点就凉凉了,况且这题还不是难一点点, 题面: There are three elevators in the Building B of Jiayuan Students' Apartment in BJTU, which carry a lot of stud
阅读全文
摘要:fhq平衡树 优点:码量小、好写、核心操作的代码都是复读机、支持的操作多 缺点:常数略大 可以解决LCT问题 普通Treap用来维护树的平衡的操作:树旋转 fhq平衡树的操作:分裂split和合并merge 把树反复拆开再拼上 结点信息:左右字数编号、子树大小(找排名)、值、随机索引 treap=t
阅读全文
摘要:当涉及维护时,为了复用(reuse)目的而使用继承,结局并不完美。 对代码所做的局部修改,影响层面可能不只局部。 把会变化的部分取出并封装起来,好让其他部分不会受到影响。代码变化之后,出其不意的部分变得很少,系统变得更有弹性。 设计原则:找出应用中可能需要变化之处 ,把它们独立出来,不要和那些不需要
阅读全文
摘要:多态表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行 对象的声明是父类,实例化的对象是子类才能实现多态 子类以父类的身份出现,但子类特有的属性和方法不可以使用;子类在工作时以自己的方式实现(父类)。 方法重写:使用override关键字,子类将父类实现替换为它自己的实现 virtu
阅读全文
摘要:面向过程POP:分析解决问题的步骤(调用函数) 优点: 流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果,具体步骤清楚,便于节点分析。 效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。 缺点: 需要深入的思考,耗费精力,代码重用性低,扩展能力差,后期维护难度比较
阅读全文
摘要:public class HelloWorld{ public static void main(String[] args){ System.out.println("你好,世界!");//小括号里面的是参数 //没有参数的情况下,会输出一行空行 } } 一个程序的基本单位就是class,clas
阅读全文