自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 ACM-ICPC2018北京站游记

       作为计科弱校的acm小白,居然能在大学生涯中有一次acm经历,也要非常感谢学校以及这次机会,这段时间也算收获了一些知识和编程能力。周五中午从学校出发,辗转校车,公交,火车,在火车上还在讨论最近的试题,然后发现很多不会不熟的东西,然后就在担心比赛暴零,周六上午到达帝都,进北大转了一圈,方方面面都能感觉的到巨大的差距,从教学楼到未名湖,安检以及他们的国际化和勤奋的学生,然后热身赛正好撞了...

2018-11-12 23:15:41 366

原创 Google innocamp2018创新全国峰会感想

 初到杭州,感觉颇为新鲜,除了潮湿闷热的气候以外其他都可以给满分,包括这边的公交,都是用支付宝,也非常的宽敞,不过空气可能因为潮湿的缘故,没有想象中的好,风景和北方风格也是很不一样,Google这边提供的住宿条件和饮食条件还是相当完美的,可以享受这边的风景,然而第二天就没劲享受了。第二天刚开始的时候还是很兴奋的,听老师们讲解google的日常,google的创新文化,以及用技术为社会做出实际贡...

2018-08-30 11:24:17 275

原创 兰州大学程序设计比赛反思

 题目描述    ACM大家庭有n个同学。对于每个同学,都有对应的ACM能力值a[i](1<=i<=n)。当有两个同学的ACM能力值相差不超过k时,他们互为对方的ACM互助伙伴。请问一下ACM大家庭里有多少对ACM互助伙伴((A,B),(B,A)被视为同一对)。输入描述:第1行输入两个整数n,k(n<=100000)。本题限制k<=1。提示,k可以为0。...

2018-06-10 19:27:15 626

原创 愿天下有情人都是失散多年的兄妹思考

这个题可以用dfs,bfs等等方法去看五代的情况,用dfs挺复杂的#include<bits/stdc++.h>using namespace std;int cnt=0;set<int> c;int vis[100100],exist[100100],yvis[100100];struct people{ int sex; int id; int f...

2018-03-26 19:14:18 383

原创 列车调度思考

原始的贪心模拟列车调度算法如下#include<bits/stdc++.h>using namespace std;int main(){ int n,i,j=0,flag,cnt=0,t,a[100010],b[100010]; cin>>n; memset(b,0,sizeof(b)); cin>>a[0]; b[0]=a[0]; for(i...

2018-03-26 16:05:32 329

原创 红色警戒思考

天梯赛题目红色警戒,是一个图的连通性问题,大概可以考虑dfs邻接矩阵,dfs邻接表vector,并查集三种思路#include <bits/stdc++.h>using namespace std;int a[1000][1000],n,sum=0,m;int vis[55000];/* run this program using the console pauser or ...

2018-03-26 14:26:47 347 1

原创 最长上升子序列

  刚刚在写最长上升子序列用传统方法一直有几个点很难通过,翻博客发现一种超级简单解法,复杂度也相对较低#include <bits/stdc++.h>using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loo...

2018-03-22 10:22:21 123

原创 Dataquest学习代码笔记

import csvf = open("nfl.csv")csvreader = csv.reader(f)nfl = list(csvreader)from math import *root=math.sqrt(1001)import csvf = open("nfl.csv")csvreader = csv.reader(f)nfl = list(csvreader)patr

2017-08-15 22:06:36 304

原创 实现数字逆序的方法

很多时候需要实现数字逆序,比如456逆序之后为654,依此类推。首先考虑十进制的情况,想到读入一个数时,对10取余数,然后除10,逐渐输出,需要考虑的是负数时需要通过一个负号变为正数,即#includevoid main(){ int n; scanf("%d",&n);if(n<0){n=-n;}while(n>0){ printf("%d",n%10);

2017-08-08 17:33:34 4421

原创 pta试题训练

11-散列1 电话聊天狂人   (25分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数NNN(≤105\le 10^5≤10​5​​),为通话记录条数。随后NNN行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这

2017-05-15 20:38:05 1473

原创 ACM动态规划训练

题目描述尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务开始时

2017-05-13 13:38:52 426

原创 java流代码笔记

这是一个复制字节的程序import java.io.*;public class Dump { public static void main(String[]args) { try { dump( new FileInputStream("aaa.bmp"), new FileOutput

2017-05-12 15:39:09 223

原创 程序设计预算法二期末考试

1:大盗阿福查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB 描述阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不

2017-04-09 15:03:44 480

原创 飞翔接力等

互评时一些好程序的记录编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等语法要素,并写一个main函数来使用它们。这些类、接口可以是围绕以下选题之一飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用);动物世界:来一次吃西瓜大赛;图书馆:

2017-04-05 22:58:01 2003

原创 链表合并

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个递增的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode N

2017-04-02 23:33:44 402

原创 python网络爬虫代码

同步跟着mooc学习,写了爬取淘宝的代码import requestsimport re def getHTMLText(url): try: r = requests.get(url, timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding r

2017-03-30 17:38:59 829

原创 链表问题

L2-002. 链表去重给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点。即对任意键值K,只有键值或其绝对值等于K的第一个结点可以被保留。同时,所有被删除的结点必须被保存在另外一个链表中。例如:另L为21→-15→-15→-7→15,则你必须输出去重后的链表21→-15→-7、以及被删除的链表-15→15。输入格式: 输入第

2017-03-24 20:12:56 282

原创 二叉树问题综合求解

6 玩转二叉树   (25分)给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(\le≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行

2017-03-24 13:24:12 813

原创 fill函数与编程无穷大

编程中无穷大的设定很多人可能设为0x7fffffff,这个数的确是32-bit int的最大值,符号位为0,其他的都是1但在很多情况下,0x7fffffff会出现错误,比如溢出,这样两个无穷大数相加会变成负数,还有如在做dijkstra求最短路时,当做松弛操作,判断if (d[u]+w[u][v]为了尽量避免以上的错误,我们可以改变无穷大的设定,可以将0x3f3f3f3f设为无穷大,0

2017-03-24 09:21:53 340

原创 搜索问题综合

喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)

2017-03-23 17:34:45 363

原创 一些路径问题

#include #include using namespace std;int maze[7][7], pre[30], vis[30];int dir[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};bool isLeagal ( int r, int c ){ if ( r 4 || c > 4 ) return false; if ( m

2017-03-23 14:45:07 421

原创 天梯赛决赛题目

题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。输出

2017-03-18 19:12:19 966

原创 栈的应用

Given a stack which can keep MMM numbers at most. Push NNN numbers in the order of 1, 2, 3, ..., NNN and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop s

2017-03-16 21:50:42 216

原创 万能头文件

最近在打cf时赛后翻阅别人的代码总是会发现一个陌生而奇怪的头文件#include奇怪之处就在于基本上所有的代码只要用了这个头文件就不再写其他头文件了。百度过后仿佛打开了新世界的大门,头文件居然还可以这样用!!!#include包含了目前c++所包含的所有头文件!!!!从此开启开挂般的人生啊!! 现在再看下面这一堆乱七八糟的头文件显得莫名的冗杂: 1 #inclu

2017-03-16 15:43:23 1140

原创 天梯赛n个数求和

#include long long gcd(long long a,long long b){ if(a == 0) return 0; else return (b == 0) ? a : gcd(b, a % b);}int main(){ int N; long long lcp; long long a,b,c,d; int i = 1;

2017-03-16 15:24:49 263

原创 深度优先与广度优先

BFS与DFS的讨论:BFS:这是一种基于队列这种数据结构的搜索方式,它的特点是由每一个状态可以扩展出许多状态,然后再以此扩展,直到找到目标状态或者队列中头尾指针相遇,即队列中所有状态都已处理完毕。DFS:基于递归的搜索方式,它的特点是由一个状态拓展一个状态,然后不停拓展,直到找到目标或者无法继续拓展结束一个状态的递归。         优缺点:BFS:对于解决最短或最少问题特别有效,而且寻

2017-03-15 21:03:19 273

原创 C++map实现

map最基本的构造函数mapmapstring; mapmapint;mapmapstring; mapmapchar;mapmapchar; mapmapint;//这几个是最基本的,当然还有其它的构造函数的12345671234567向map中添加数据使用insert方法来添加数据mapmaplive;1. maplive.insert(pai

2017-03-15 19:51:28 4214

原创 红黑

1:红与黑查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB 描述有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入包括多个数据集合。每个数据集合的第一行是两个整数W和H,分别表示x方向和y方向瓷砖的数量。W和H都

2017-03-15 15:30:41 357

原创 天梯赛训练集

一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%3/11\times 1.5\times 2\times 100\%3/11×1.5×2×100%,约为81.82%。本题就请你计算一

2017-03-13 19:47:49 300

原创 天梯赛抢红包与PAT judge

#include#include#includeusing namespace std;struct Person{ int name;//编号 int num;// 抢到的红包数 int sum;//抢到的红包个数 }p[10001]; bool cmp(Person p1,Person p2){ if(p1.sum!=p2.sum){ return p1.sum>

2017-03-13 19:39:43 313

原创 天梯赛喊山

#include #include #include #include #include using namespace std;int vis[10001];vector c[10005];typedef pairP;queue que;int bfs(int t){ int x,y,ans,ani; que.push(P(t,0)); ans=0

2017-03-13 19:26:59 362

原创 C语言天梯赛储备函数

C与C++:char *strchr(const char* _Str,char _Val)char *strchr(char* _Str,char _Ch)头文件:#include 功能:查找字符串_Str中首次出现字符_Val的位置说明:返回首次出现_Val的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果Str中不存在Val则返回NULL。

2017-03-13 16:57:40 620

转载 并查集算法

并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判

2017-03-12 21:38:05 220

原创 天梯赛集合相似度

#includeusing namespace std;int n;set u[55];void f(int a,int b){ int same=0; set::iterator it; for(it=u[a].begin(); it!=u[a].end(); it++) { if(u[b].find(*it)!=u[b].end(

2017-03-11 23:48:40 249

原创 天梯赛对称字串

#include using namespace std;int main() { string s; getline(cin, s); int maxvalue = 0, temp; int len = s.length(); for(int i = 0; i < len; i++) { temp = 1; for(in

2017-03-11 23:21:16 182

原创 复杂的整数划分

描述将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。正整数n 的这种表示称为正整数n 的划分。输入标准的输入包含若干组测试数据。每组测试数据是一行输入数据,包括两个整数N 和 K。 (0 输出对于每组测试数据,输出以下三行数据:第一行: N划分成K个正整数之和的划分数目第二行: N划分成若干个不同正整数之和

2017-03-09 22:35:40 292

原创 最大子列和问题

#include #include int A[100000];int Maxsubseq(int A[],int n);int main(){ int i=0; int n,t; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&A[i]); } t=Maxsubseq(A,n

2017-03-05 22:13:12 150

原创 ACMzipper

Given three strings, you are to determine whether the third string can be formed by combining the characters in the first two strings. The first two strings can be mixed arbitrarily, but each must sta

2017-02-22 22:54:00 220

原创 拦截导弹

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。输入输入有两行,第一行,输入雷达捕捉到的敌国导弹的

2017-02-22 22:10:03 314

原创 getline应用

The objective of the program you are going to produce is to evaluate boolean expressions as the one shown next: Expression: ( V | V ) & F & ( F | V ) where V is for True, and F is for False. The expr

2017-02-19 20:15:18 233

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除