一个西电计算机类必看的学习指南 本人16级毕业于西电计科专业,毕业之际与很多的大佬一起整理了一份大学四年的课程学习路线和一些科研,竞赛的经验分享。希望各位老腊肉多批评指正,可能也能从中学到一些工具的使用,欢迎萌新分享传播~西电计算机科学与技术学院本科课程及方向学习指南...
随手撸一个裸的主席树 #include using namespace std;const int maxn = 1e5;int n;int root[maxn], ls[maxn], rs[maxn];int sz = 0;int sum[maxn];int num[maxn];int b[maxn];void build(int & rt, int l, int r){ rt = ++s
优美的链式前向星 首先贴上一份贴别好的blog详细的介绍了链式前向星的全过程:链式前向星贴上一份板子:#include using namespace std;const int maxn = 4e5+100;struct node{ int to, next, weight;}edge[maxn];int cnt;int head[maxn];int n;void ad
筛素法总结 #include using namespace std;const int maxn = 1e6+5;int table[maxn];bool p[maxn];int tot = 0;void find_prime(){//纯粹的为了筛选素数表,不能很好的记录素数表,素数筛的最优的 int m = sqrt(maxn); for(int i=2; i<=m; i++
Fibonacci博弈的证明 Fibonacci博弈有一堆个数为n(n>=2)的石子,游戏双方轮流取石子,规则如下:1)先手不能在第一次把所有的石子取完,至少取1颗;2)之后每次可以取的石子数至少为1,至多为对手刚取的石子数的2倍。约定取走最后一个石子的人为赢家,求必败态。结论:当n为Fibonacci数的时候,必败。f[i]:1,2,3,5,8,13,21,34,55,89
python复习笔记 ppt1:isinstance(instance, type);字符串和元组属于不可变序列,不可通过下标的方式来修改元素,但是可以访问。不可以使用关键字来做变量名。查看关键词的函数:import keyword; print(kwlist)十六进制表示:0x3f八进制的表示:0o12二进制的表示:0b101c = 3+4j;print(c.real, c.imag, c
用pickle模块储存对象的实例 众所周知,当我们需要储存数据的时候,就需要用到重定向。但是,这些都是储存简单的数据类型,那么当我们需要存储一个类的实例的时候该怎么存储呢?实际上,我们需要用到一个模块———pickle,翻译为泡菜坛子首先贴上一个blog:pickle的使用方法然后贴上一份代码:import pickleclass Person(): def __init__(self, nam
平衡二叉树(AVL)模板 模板代码:#include using namespace std;const int maxn = 1e2+5;int data[maxn];struct node{ int v,height; node *lchild, *rchild;};node* newNode(int v){ node* Node = new node; Node->
map的个人理解 在理解之前贴一份代码:#include using namespace std;int main(){ map mp; mp[2] = 10; mp[3] = 11; mp[4] = 10; if(mp[4] == 10){ cout<<"yeah~~~"<<endl; } cout<<mp[10]<<en
二分图的最大匹配问题完整代码 二分图的最大匹配问题很多博客原理讲的已经很清楚了,贴出来几个链接:二分图的最大匹配问题解决原理二分图最大匹配原理自己花了两天时间敲出来的代码,感觉成长了很多:#include using namespace std;int n, m;//n代表图的点数, m代表边数int len;//用来记录一条增广路径const int maxn_node = 1e2+5;b
PAT.1063A(set问题) 问题描述Set Similarity (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given two sets of integers, the similarity of the sets is defined to be Nc/Nt*100%, where Nc
Python中用sort和class实现多级排序 Python中用sort和class实现多级排序import randomclass Temp: def __init__(self, a, b, c): self.a = a self.b = b self.c = c def __str__(self): return ( ('[a: %d b: %d c: %d]' %
补题补题,stack的应用 ALDS1_3_D: Areas on the Cross-Section Diagram题目摘要 计算积水的面积。输入1行,用”\”和”/”表示斜面,用”_”表示平地。程序://#include //using namespace std;////int main()//{// vector V;// for (int i=0; i
c++中STL常用的数据结构 一.stack(栈)常见的操作:#include using namespace std;int main(){ stack S; S.push(3); S.push(10); S.push(100); cout<<S.size()<<endl; S.pop(); cout<<S.top()<<endl;; if(!
hash入门 《挑战程序设计竞赛》P98代码:#include using namespace std;const int M = 1046527;//必须是质数,这样可以比较好的避免hash冲突const int L = 14;//字符串的最大长度typedef long long LL;//样例输入://6 insrt AAA insert AAC find AAA find CCC
初等排序算法集合 写在最前面:这里的所有的排序方法都是我从挑战程序设计竞赛中学习的排序方法,也许c++里面一个sort()就可以搞定的事情,但是还是有必要巩固一些基础的知识吧,否则当去别家的公司面试连最简单的排序都不会就尴尬了。这次的总结也权当是一次复习。一.插入排序:说明:从头一开始依次遍历整个数组,当前的数字小于前面的数字时,往前查找,直达查询到小于等于它的数字;代码如下:#include
二分的基本的思路以及使用的条件 不多逼逼,直接贴上我加好注释的代码://#include //using namespace std;//////int n, m;////bool check(int x){// int num1 = x/2;// int num2 = x/3;// int num3 = x/6;// if (num1<n) return fals
对卿学姐的一道题目的自己的理解 题目很简答:下面是我复制粘贴的连接的原文:卿学姐blog:这周呢,我要讲的算法是二分法,至于为什么要讲这个算法呢,我才不会告诉你们是因为这周的每周一题就是二分呢。引入一道例题:Block Towers(来源codeforces 8VC Venture Cup 2016 - Elimination Round C题)题意:你需要找n个2的倍数,m个3的倍数,要求所有数
hdu1222-Wolf and Rabbit Wolf and RabbitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2960 Accepted Submission(s): 1628 Problem DescriptionT
线段树入门(建树,查询,更新)hdu1754 先来一道纯线段树的题目:I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 75617 Accepted Submission(s): 29141Problem Description很多
注意数乘可能会引发数据的溢出 下面贴上一个题目,提示自己要注意数据,不要溢出了!B. Appleman and Card Gametime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAppleman
【问题集】这是什么编码错误? 这个是在安装scrapy包的时候遇到的问题,Python2.7里面可以改变默认的编码方式来解决(改成gbk2312),而Python3里面没有这样的函数来修改,至今仍然很是困扰,待解决
Python的编码问题 刚才自己编程的时候遇到了一个困惑,我们之前知道了如何将Unicode类型的字符encode成为电脑能够保存的字节流。那么怎么将字节流转化为Unicode的格式呢?这是我们就要知道保存文件时选择的编码方式是什么?如utf-8还是GB2312等。下面还是代码来说明问题:import chardetf1 = open('test5.txt','r')encoding = f1.read
Python中的编码问题 Q1:为什么Python中需要unicode格式而不对文件的字节流(这里字节流的存储方式有utf-8,gb2312,latin,iso等编码方式)直接进行操作?我的理解:这里因为编码的方式,当程序需要对字符串进行操作的时候,不统一的标准导致对字符串的处理变得非常的低效。因此统一的将其转化为Unicode类型,下面是我从网上博客抄的一段话,感觉很有道理:为什么不所有的文件都使用unico
字符串的整理① 首先是c语言中的一些疑惑:①定义一个字符类型的数组,可以显示中文,但是输出的结果是一个乱码;//这个确实有一点不太理解QAQ。。。②定义一个string类型的,然后在程序的进程中输入中文,可以正常的输出中文并且每个中文占两个字节。好了下面复习老师的ppt:string类型的数据表示8进制的文本(0~255间的数据)或者是二进制的数据,如果8进制的文本能够显示,那么要显示st
趁着我还清醒的时候来一发感想 今天ACM现场赛是被虐。。。第四题的皮卡丘公式推得完全正确,可是总是WA我也很绝望QAQ。过了四题的人才有省赛的资格,又是就差一点而错过的事情。我突然意识到自己虽然很努力但是什么都很差的感觉。听了艾神的一番经验,加之最近的一些体验和感想,觉得自己还是应该专心的做一些事情吧,可能最后落得邯郸学步的尴尬境地。所以最后和学长说明了弃了Android的坑。最后最后希望自己刷题快乐,学习能有一定的进
Floyd算法 畅通工程续Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 51881 Accepted Submission(s): 19353Problem Description某省自从实行了很多年的畅通工程计划后,终于修
unicode及编码的规范问题 最近学习python学到了unicode的编码问题,下面还有一些小的疑惑:①:我们都知道utf-8是一种可变长度的读字符串,有如下的描述:•思想:不要用固定长度的32-bit integer(4 byte)。对常用的字符,给其一个小的编号(1byte),以节省空间;对不常用的字符,给其一个大编号那么问题就是,如何的识别这样的可变的长度呢?百度百科utf-8当这些高字节位为0
流 package testIO;import java.io.*;public class testIO { public static void main(String[] args) throws Exception{ FileReader fr = new FileReader("C:\\Users\\宝宝天龙\\Desktop\\java\\lesson46.txt");
内部类,匿名类 内部类定义在一个类的内部,但是是在该类的方法的外部定义的内部类可以访问外部类的成员外部类不能直接访问内部类的成员(可以访问但是语法很是怪异)匿名类:特殊的内部类 有自己的方法代码:package testWindow;import java.awt.*;import java.awt.event.*;public class test
事件监听器 package testButton;import java.awt.*;import java.awt.event.*;public class testButton { public static void main(String[] args){ Frame a = new Frame(); Button bn =new Button("hello"); a.add(
【Java】内存分配的问题 首先贴一份代码:package thread_1;public class test { public static void main(String[] args){ String str1= "helo"; String str2 = "helo"; System.out.println(str1.hashCode()); System.out.println
【java】卖票系统 第二种正确的代码,可以进一步理解synchronized限定符:package thread_1;class SaleTickets implements Runnable{ private static int num = 100; static String str = new String("hello"); public void run(){ while (
【线程】卖票系统② package thread_1;class SaleTickets implements Runnable{ private static int num = 100; public void run(){ while (true) { synchronized(this) { if (num>0){ System.out.printf("%s线
【Java .sleep()】对异常的处理(依旧对异常有一点小疑惑) package thread_1;class A implements Runnable{ public void run() { try{ System.out.printf("AAAA"); //System.out.println(Thread.currentThread().getName()); } catch(Exception e){ }
【线程】卖票系统 首先贴一份有问题的代码:package thread_1;class SaleTickets implements Runnable{ private static int num = 100; public void run(){ while (true) { if (num>0){ System.out.printf("%s线程正在卖第%d张票",Th
【线程】.join() package thread_1;class AA implements Runnable{ public void run(){ for (int i=0;i<50;i++){ System.out.println("子线程+"+i); } }}public class thread_join { public static void main(String[] ar
创建线程的方式 第一种方式:class A extends Thread{ public void run(){ while (true) System.out.printf("AAAA"); }}public class testThread { public static void main(String[] args){ A aa = new A(); aa.start(
异常的一些视频笔记 String freiends[] = {"lisa","nancy","kessy"};error是系统错误,程序员无法捕获这些错误。Exception:包含RuntimeException(这个异常可以捕获也可以不捕获,没有错误程序依旧会运行)throw new ArithmeticException();如果抛出的是IOException(),则必须对其进行处理;
多态的例子以及多态和异常之间的一些细节 这是多态最普通的定义的方法:class A{ public void f(){ }}class BB extends A{ public void f(){ System.out.printf("BBBBBBB"); }} class Test{ public void m(A aa){//可以看出这里的参数是父类,但是在下面的调用的时候可以使用子类的参数,说明
自定义异常的例子 import java.io.*;class B extends Exception{ public B(String name){ super(name); }}class divide { public double f(double a,double b) throws B//这个表示这个方法对异常不进行处理,传给上一级进行处理 //处理的方式是try{}catch
自己最近的一些小体会和心得 随着课程的不断的增多,感觉自己对待学习有点力不从心了。昨天晚上好好的和舍友玩了一个晚上,感觉也很开心。但是我想在未来成为一个大牛,必定要花费他人所不能及的努力。本学期(大一下)学校开的主要课程有:高等数学下,离散数学,线性代数,大学物理2,Java,python程序语言设计。课程也是不断的加深,有的内容抽象而难懂。自己所拓展的方面有:Java,MATLAB,Linux操作系统,网络爬虫,程序设计竞
try{}cath{}不能被if else语句替换的例子 import java.util.*;public class TestException { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int i=0; try{ i = sc.nextInt(); } catch(Exception e){ Sy
异常的处理以及变量的初始化问题 首先是没有错误的代码:public class TestException { public static void main(String[] args){ int m; try{ m=100; } catch(Exception e){ } }}上面申明了一个变量之后,没有抛出异常,但是如果后面用到了m,则会抛出异常:public
Java笔记 封装、继承、多态什么是多态?局部变量必须初始化!但是只是定义的时候不必初始化,用的时候必须初始化new A().f()包定义之后,必须使用zhangsan.lisi.TestPackage来运行。哪怕进入了根目录。包的一些知识:用javac -d . testpackage.java用set classpath="绝对路径
接口的知识 我们都知道,接口里的方法都是抽象的,因此在main函数中,我们不可以IT it = new IT();的形式来创建一个对象。但是我们可以用申明局部变量的方法来实现一个it的抽象对象,再对其进行实例化:代码如下:package itrateor;interface A{ public void g();}class B implements A{ public void g(
JAVA里面类的能存分配深入的理解 一个正确的代码:package new_doutai;class A{ public void f(){ System.out.printf("AAAA"); }}class B extends A{ public void f(){ System.out.printf("BBBB"); } }public class duotai { publ
多态的用法① package new_doutai;class A{ public void f(){ System.out.printf("AAAA"); }}class B extends A{ public void f(){ System.out.printf("BBBB"); } }public class duotai { public static
super的方法 代码:package how;class A{ int i,j; private int mm=100; public A(int i,int j){ this.i = i; this.j = j; } public A(){ }}class B extends A{ int k; public B(int i,int j,int k){ super(
学生图书管理系统大作业 代码如下:#include using namespace std;struct book{ char id[20]; char name[15]; char person[30][20]; int number; int tot; struct book *next;};struct student{ char name[20]; int id; char
【java】【static】 class A{ int i=10; private static A aa = new A(); private A(){ } public static A get_aa() { return aa; }}public class test{ public static void main(String[] args){ A bb=A.get_aa();
Train Problem I (非栈但是并没有AC) #include #include //cin输入流会自动的忽略空格,cin空字符(包括回车,TAB,空格)都会当成一个输入的结束。连续的空字符会被忽略//非栈法using namespace std;int record[15];char str1[10],str2[10];int main(){ int n,j,i; char tem; while (c
一个ACMer的超详尽规划 ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:l C/C++两种语言l 高等数学l 线性代数l 数据结构l 离散数学l 数据库原理l 操作系统原理l 计算机组成原理l 人工智能l 编译原理l 算法设计与分析除此之外,我希望你们能
约瑟夫环(循环链表实现) #include #include using namespace std;struct jeseph{ int data; struct jeseph* next;};struct jeseph *create(struct jeseph* head,int n){ struct jeseph *p=head,*s; for (int i=1;i
约瑟夫环问题(数学分析法) 解决我的几个困惑:1.为什么数组的坐标是从0开始而不是从1开始呢?ans:若m=n=5时,m%n=0,那么这样指向的数是哪一位呢?因此从0开始更方便来表示它是一个环。2.如何理解?ans:我找到的一个比较通俗的理解方法:点击打开链接假设最后存活的人在第i轮的筛选中坐标为x(i);conclusion:这道题用到了递归的思想。在第一轮的筛选中(m-1)%n被杀,下一轮中m%n
约瑟夫环问题 约瑟夫环问题:一圈共有N个人,开始报数,报到M的人自杀,然后重新开始报数,问最后自杀的人是谁?如图:内环表示人排列的环,外环表示自杀顺序;上面N=41,M=3。最普通办法就是模拟整个过程:建一个bool数组,true表示此人还活着,false表示已经自杀。可以模拟整个过程代码:下面说一下new的格式:int *p=new int (100);//这个
Fibonacci(大数的计算及取部分位) FibonacciTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4175 Accepted Submission(s): 1877 Problem Des
hdoj fatmouse(贪心算法入门) FatMouse' TradeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20968 Accepted Submission(s): 6501Problem DescriptionFatMouse pr
(转载)c++直接读取十六进制数,输出为十进制 #include "iostream"using namespace std;int main(int argc, char* argv[]){ int first,third; while(cin>> hex >>first>>third) { cout } return 0