一. 背景 Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件有变化,就要重新构建 的项目,都可以用Make构建。 make只是一个根据指定的Shell命令进行构建的工具。它的规则很简单,你规定要构建哪个文件、它依赖哪些源文件,当那些 文件有变动时,如何重新构建它。 二. Make Make是一个很简单命令. make . //构建当前目录 但先编译哪个文件,哪个文件为哪个文件的依赖,都在一个名为Makefile的文件中描述,接下来看一下Makefile文件. 三. Makefile 3.1组成 <target> : <prerequisites> [tab] <commands> <目标> : <前置条件> [tab] <命令> 上面第一行冒号前面的部分,叫做"目标"(target),冒号后面的部分叫做"前置条件"(prerequisites);第二行必须 由一个tab键起首,后面跟着"命令"(comma 继续阅读 >>


楚东方 18/01/12 12:49:41
时间如白驹过隙,转眼间就到了2017年、大三上半学期。这样算来搞ACM也 有一年多的光景了。之前因为一直在准备比赛,没有写比赛经历总结,最近 刚刚打完Final,算是准退役了把。想想也是时候来篇Summry了。^_^~~ 个人比较菜,望各位大佬们凑活着看哦(●'◡'●) 个人相关: 个人简介: 姓名:楚东方 昵称:flytosky2015 学校:西安邮电大学 队伍:破晓(校一队,三名大三同学) 队内职务:队长、主代码手 比赛经历: 时间 比赛 获奖情况 2016年 5月(大一下) 蓝桥杯国赛 B 组 二等奖 2016年10月(大二上) ICPC大连区域赛 铁 2016年11月(大二上) ICPC北京区域赛 铁 2016年12月(大二上) China-final 铁 2017年4 月(大二下) 华为精英挑战赛 西北地区三等奖 2017年5 月(大二下) 蓝桥杯国赛 A 组 二等奖 2017年5 月(大二下) ICPC西安赛区 继续阅读 >>


楚东方 17/12/22 09:02:20
1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 2.关系 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行. 相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。 3.区别 进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并 继续阅读 >>


楚东方 17/12/21 23:48:08
Graph Reconstruction Let there be a simple graph with N vertices but we just know the degree of each vertex. Is it possible to reconstruct the graph only by these information? A simple graph is an undirected graph that has no loops (edges connected at both ends to the same vertex) and no more than one edge between any two different vertices. The degree of a vertex is the number of edges that connect to it. Input There are multiple cases. Each case contains two lines. The first l 继续阅读 >>


楚东方 17/12/14 18:49:55
A. Hungry Student Problem time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Ivan’s classes at the university have just finished, and now he wants to go to the local CFK cafe and eat some fried chicken. CFK sells chicken chunks in small and large portions. A small portion contains 3 chunks; a large one — 7 chunks. Ivan wants to eat exactly x chunks. Now he wonders whether he can buy exactly this amount of chicken. Form 继续阅读 >>


楚东方 17/12/14 16:05:48
题目链接 求有向图强连通分量的2n个边的边集 首先从1开始DFS可以走到的所有点,并记录走过的边 这样就满足了从1可达所有其他点 然后从1开始DFS走反向边,这样保证其他点可达1点. 两遍dfs #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e5+5; struct node { int to; int ind; }; int u[maxn]; int v[maxn]; int ans[maxn]; vector<node> G[maxn]; vector<node> G1[maxn]; int T; int n,m; int vis[maxn]; void dfs(int cur) { vis[cur]=1; for(int i=0;i<G[cur].size();i++) { if(vis[G[cur] 继续阅读 >>


楚东方 17/12/12 22:07:10
题目链接 可以利用唯一分解定义求出有多少个约数,然后再减去小于b的.我直接求出了 约数,然后计算,比较耿直~~ #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll INF = 1e18; const int N = 1000004; int isprime[1000005]; int prime[1000005]; int cnt = 0; void initprime() { for(int i=2;i<N;i++) { isprime[i] = true; } for(int i=2;i<N;i++) { if(isprime[i]) { prime[++cnt]=i; for(int j=i<<1;j<N;j+=i) { 继续阅读 >>


楚东方 17/12/09 00:15:19
时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 65536K,其他语言131072K 64bit IO Format: %lld 题目描述 星神是来自宇宙的 所以珂朵莉也是吧 所以我就出了个题 给你一个长为n的序列a,有n*(n+1)/2个子区间,问这些子区间里面和为完全平方数的子区间个数 输入描述: 第一行一个数n 第二行n个数表示序列a 输出描述: 输出一个数表示答案 示例1 输入 6 0 1 0 9 1 0 输出 11 备注: 1 <= n <= 1000000 <= ai <= 10 因为a给定范围,由此可知完全平方数最大为1e6,这枚举平方数1---1e3 求前缀和,枚举1---n 计算前面出现过多少个 sum[i]-i*i  注意0需要初始化 #include<bits/stdc++.h> using namespace std; typedef long long ll; 继续阅读 >>


楚东方 17/12/08 23:58:15
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 给定一个小写字母字符串T 求有多少长度为m的小写字母字符串S满足,T是S的一个子序列(不需要连续) 输入描述: 第一行一个字符串T 第二行一个正整数m 输出描述: 输出答案对109+7取模的值 示例1 输入 a 2 输出 51 说明 长度为2的里面有a的串有51种 备注: 1<=|T|,m<=105 思路: 想法比较敲妙,为了避免重复清空发生,例如 a_ _ b_ _ c_ _ _ _,需保证a,b之间的不能为b ;b,c之间的不能为c 依次类推 在m个里面选择n个位置,枚举最后一个位置, 最后一个位置之前的只需放25种,最后往后的需放26种 需要用逆元 #include<bits/stdc++.h> using namespace std; typedef long 继续阅读 >>


楚东方 17/12/08 23:53:41
C. Square Subsets time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Petya was late for the lesson too. The teacher gave him an additional task. For some array a Petya should find the number of different ways to select non-empty subset of elements from it in such a way that their product is equal to a square of some integer. Two ways are considered different if sets of indexes of elemen 继续阅读 >>


楚东方 17/11/29 11:27:11