- 博客(22)
- 收藏
- 关注
原创 STL的size函数与负数比较大小出错的bug
这篇文章分析了一个bug: 用无符号类型与负数的比较为什么可能出错。【c++】无符号类型与负数的比较 (该链接来自博主 清风起~的一篇博客,感谢其解惑)我是在用STL的vector的size函数时发现的,大致为int b=-1;if(a.size()>=b){//...}照理这判断语句可以成立,但实际是始终不成立,因为b先转化成了无符号整型(一个非常大的正数),所以始终比a.size()大。所以最好先把a.size()转整型再使用。...
2020-07-19 21:48:51
517
原创 北大 2012 false coin
题目:有N个硬币,经过K次称重,找出不一样重的假币。每次称重,要求称两边硬币数一样,结果用,=表示。思路:代码非原创,链接:http://blog.youkuaiyun.com/dellaserss/article/details/8008329#include#include#includeusing namespace std;int
2017-03-26 11:22:11
312
原创 北大 2012 最大上升子序列和 最简真分数
最大上升子序列和题目: 当b1 思路: 动态规划(最优性原理),有向前处理法和向后处理法,此处选了向前处理法。 思路见注释。#include #include #include using namespace std;int N;int A[1002]; //序列数int Sum[1002
2017-03-23 23:01:59
310
原创 清华 2011 剩下的树
题目:长为整数L(1的马路,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。要移走某区间内的树,如 100 200表示移走从100到200之间(包括端点)的树。有M(1个区间,区间之间可能重叠。求剩下的树的个数。 思路:离散的区间合并问题,可以用标记法:即把域内的整数都初始标记为0,有区间括起来的整数标为1,则剩下的即为没在区间内的。
2017-03-23 13:50:02
208
原创 清华 2011 约数的个数
题目:输入n个整数,依次输出每个数的约数的个数。 思路:思路一:一个数的所有约数从小到大排列,第i大和第i小的约数有对称性。而排在最中间的那个约数应该。只需找到中间约数,再乘以2即可。思路二:使用约数个数定理。两思路的程序差别只在yueShu()函数。#include #include #include using namespace st
2017-03-20 21:45:50
433
原创 清华 2011 最小花费
题目描述:有N个火车站,有三种价格的票(0对应三种距离(0相邻两站间的距离。给出A, B(起始站和终点站),N(总的火车站数),dis[2],dis[3],dis[4],…,dis[N](该线路上的第一个站,到第2站,第3站,……,第N站的距离)。求乘客从A到B站的最小花费。思路:网上有用动态规划来求的,但根据最优性原理,每站都要遍历,不可跳过。因此,我选择用贪心算法来求。
2017-03-18 12:29:49
244
原创 清华 2012 玛雅人的密码
题目: 输入长度为N,且只含'0''1''2'的字符串(2=思路: 广度优先遍历(BFS),过程借用队列。字符串通过1次移动产生的所有新子串,为其子结点。去除和爷爷结点以及父亲结点相同的子结点,然后其余入队。再出队,遍历。如此循环,直到产生解。学习体会: 1.程序中的isHave2012()函数,其实是模式匹配函数,其有改进算法,参见《数据结构》。2
2017-03-17 11:08:02
831
原创 清华 2012 求1和2的个数
题目:输入正整数N(1=的100次方)),输出F(N) mod20123。F(N)表示小于等于N的自然数中1和2的个数之和。例如:1,2,3,4,5,6,7,8,9,10,11序列中1和2的个数之和为5,因此F(11)=5。思路:N用string存储,先求出F(N[0]),再求出F(N[0]N[1]),再求出F(N[0]N[1]N[2]),……,最后求出F(N)。而由前
2017-03-15 19:29:20
426
原创 华中科技大学 2010 a+b
题目: 实现一个加法器,使其能够输出a+b的值(a和b的位数不超过1000位)。思路: a和b输入字符串中,并从低到高位以9个字符为一段,对字符串进行分段,然后分别转成整数。a和b对应的整数段相加后,再把结果转成字符串,相连并输出。 学习与体会:1.或头文件,可查看基本数据类型的最大最小值,例:cout2.动态分配撤销数组语法
2017-03-11 10:31:48
448
原创 华中科技大学 2010 奇偶校验
题目:输入一个字符串,对其中的每个字符,求字符的ASCII的二进制表示,放数组的1~7位,校验位放数组的0位,并把数组输出。学习与体会:1.什么是奇偶校验码?举例:'a'的ASCII码是97,二进制表示为1100001,如果是奇校验,因为1100001有奇数个1,所以校验位为0,即01100001。
2017-03-10 12:04:43
597
原创 浙大2012 To Fill or Not to Fill
题意:油箱量为Cmax,每单位油能跑Davg的车,要从杭州跑到距离为D的城市,途中有N个加油站。每个加油站有单位价格Pi和与杭州的距离Di这两个信息。问车能跑多远。思路:用贪心算法。把自己想成车,要为”眼前的利益”做出下一步的选择。具体决策见图:体会:做贪心算法的题,可根据题目给的示例,自己演算一遍,从中总结规律,然后再思考和补充上特例即可。
2017-03-07 18:56:42
222
原创 安卓杂记1
1.Activity有一个叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。onCreate方法的完整定义如下:public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);}Bundle
2016-08-17 18:45:29
205
原创 activity间跳转简单方式
1.写两个活动的布局文件,在res/layout下;2.活动的关键代码:活动一://确定哪个活动到哪个活动Intent intent_land=new Intent(MainActivity.this,MyActivity1.class);//开启第二个活动,关闭第一个活动public void onClick(View view) { startA
2016-08-17 18:43:48
273
原创 我的C#日记4
1.类,接口的访问级别: public,internal; 类成员访问级别: public,private,protected,internal; 类的关键字: abstract,sealed; 字段的关键字: static,readonly,const; 属性,方法的关键字: static,virtual(方法可重写),override,ab
2016-08-17 18:38:43
166
原创 我的C#日记3
类名:Name;对象:Object1.创建类: internal/public 空/abstract/sealed class Name:[基类名],[接口名],[接口名]... { ...... }1.创建接口: 接口主要用于类,这些类可以通过接口完成某些相同的任务。 internal/public interface 接口名:[基接口],[
2016-08-17 18:37:54
222
原创 我的C#日记2
1.try...catch...finally的代码示例:using System;using System.Collections.Generic;using System.Linq;using System.Text;// Spacing added here so that line numbers match with the chapter descr
2016-08-17 18:35:32
279
原创 关于接口,继承,内部类的一些测试
1.一个接口,可含静态函数的定义和静态嵌套类的定义public interface ClassInInterface{ void howdy(); static class Test implements ClassInInterface //静态嵌套类 { public void howdy() { System.out.println("Ho
2016-05-02 22:47:35
209
原创 Class对象
Class对象是一个特殊的对象,是用来创建其它对象(这里的其他对象就是指:java类的实例(instance对象))。其实Class对象就是java类编译后生成的.class文件,它包含了与类有关的信息。每当第一次使用一个类时(第一次new该类实例),JVM必须使用“类加载器”子系统加载该类的Class对象。一旦这个类的Class对象被载入内存,它就被用来创建这个类的所有对象。
2016-05-02 22:44:27
840
原创 static块与finalize()
static块(static{}):在类中,只在类被加载时执行一次,用来初始化静态成员。finalize():1.回收对象前调用(在Object类中以实现一个默认的);2.其它方式创建的对象(如C++的new),要用自定义的finalize()来处理(如C++的delete);3.如果对象正在处理非java资源,则在对象撤销之前要保证资源的释放,要自定义finalize()
2016-04-18 22:49:56
205
原创 java中的换行符
1.问题发现:在学习转义字符时,编写了如下代码:import java.io.*;public class RN{ public static void main(String[] args) { String str="we are\r\n young"; System.out.print("We are\r\nyoung");
2016-04-15 23:12:23
977
原创 我的C#学习日记:2016.2.19
因为要参加大创原因,所以学起了C#。前面几章的内容,蛮像C++的。但因为C++学得并不扎实,所以趁学C#时,也复习一下C++。 一些学习笔记(部分):1.面对“要做(2)(3),但如果(1),则重新做(2)”: bool a=false; (2); while(!a) { i
2016-02-19 21:00:31
336
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人