自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

caoyi0905

博客 http://www.frozenc.com/blog

  • 博客(17)
  • 收藏
  • 关注

原创 图论基础【待更新】

图的基本概念1.1 图论的发展1. 哥尼斯堡七桥问题2. 基尔霍夫电网络3. 四色问题4. 化学同分异构物5. 哈密尔顿周游世界问题6. 20世纪的图论1.2 图的概念1.2.1 图定义:一个图G是指GG是指一个有序三元组(V(G),E(G),ψG)(V(G),E(G),ψ_G),其中V(G)V(G)是非空的顶点集,内部的元素称为图GG的顶点,E(G)E(G)是与V(G)V(G)不相交的边集,内部的

2015-06-16 10:02:55 661

原创 Codeforces547D Mike and Fish

题意:一个平面上有n个点,先要求对每个点进行红蓝染色,且满足以下条件:对于任意一横行或一竖列,上面的红点和蓝点的个数之差最多为1。题目保证有解。题解:出题人的解法有点厉害。。但是cubelove的做法更神。。被治愈了。。做法1:将x坐标和y坐标分别放到两个点集中。如果有点(a,b),那么x点集中的a和y点集中的b连边。然后会有一个图。每条边都代表一个点。现在问题等价于对每个边染色,使得对于

2015-05-28 15:25:50 1056

原创 2014年西安区域赛C The Problem Needs 3D Arrays

题意:给定一个1-n的排列,它的一个子序列(不一定连续)设为S,令这个子序列的逆序对为R(S),长度为L(S)。请找到一个S,使得R(S)L(S)\frac{R(S)}{L(S)}最大。 题解:两个数字如果有逆序关系则连边,跑一遍最大密度子图就是答案。#include<iostream>#include<cstdio>#include<queue>using namespace std;#

2015-05-26 20:29:31 1365

原创 Codeforces489E Hiking

Codeforces489E Hiking题意:有一些驻点,每个点有一个坐标xix_i,和一个像素值bib_i。旅行者一开始在坐标0位置。他想选择一些驻点作为休息的位置。如果从当前位置走到某一驻点的距离为rir_i,那么他的疲劳值为|ri−l|−−−−−√\sqrt{|r_i-l|}。在某个驻点停留可以获得那个点的像素值。让你帮他选择一些驻点,使得最后的 总疲劳度/总像素值 尽可能地小。旅游者必须在

2015-05-26 17:18:11 428

原创 codeforces545E Paths and Trees

题目:给定一个连通无向图,求包含u的一棵树,满足树上任意一点到u的距离等于原图中到那个点的最短距离。如果有多种这样的树,找到总权值最小的树。题解:如果u连了i再连到j,相比u直接连到j,如果都是最短路,肯定优先选择u-i和i-j两条边。所以先跑一遍最短路,然后枚举每个点,找到那个点从哪条边连接会更优。这题很明显爆longlong。。原来的dijkstra的模板是默认int的。。改了好几次都

2015-05-25 17:46:03 751

原创 codeforces546E Soldier and Traveling

题解:拆点。。然后网络流。。代码:#includeusing namespace std;#define REP(i,n) for((i)=0;(i)<(int)(n);(i)++)#define snuke(c,itr) for(__typeof((c).begin()) itr=(c).begin();itr!=(c).end();itr++)typedef int F;#d

2015-05-25 11:18:05 425

原创 Codeforces Round #222 (Div. 1) A. Maze

题意:有n*m矩阵,'.'为空地,'#'为墙。在空地上添加k堵墙使得最后空地联通。保证有解。思路:随便送任何一个空地走,走到不能走为止,那么这个位置就可以设为'X'。然后回溯将路径上的空地都设为'x'。很明显最后的图是联通的。#includeusing namespace std;int n,m,k;char ch[501][501];int vis[501][501];

2015-05-14 18:29:09 653

原创 Codeforces Beta Round #57 (Div. 2) D. Eternal Victory

题目大意:一棵树,从1结点开始走,求经过所有结点所走过的最短路程。终点位置随意。分析:假设他最后强制回到1结点,那么很显然每条边都要走两次。那么只要找到最远的结点作为终点位置,然后这段距离上的边只走一次。#include#define ll long longusing namespace std;vector > v[100001];templateinline void re

2015-05-14 09:04:18 601

原创 URAL1132 Square Root 二次剩余模版题

关于二次剩余的介绍:http://en.wikipedia.org/wiki/Tonelli%E2%80%93Shanks_algorithm二次剩余的代码:

2014-08-06 10:25:01 501

原创 NOIP2002 产生数

题目链接:http://wikioi.com/problem/1009/ 一开始心想这不就是最简单的加法原理么,比如样例给的,2可以变成5,3可以变成6,所以在产生数的时候,2->2或者2->5;3->3,3->6;4->4。234总共可以产生的数字是2*1*2种。如果说那个数是a的话,结果就是f[a[0]]*f[a[1]]*...。f[n]的含义就是数字n可以变换成多少种数字(包括本身)

2014-03-26 00:01:31 626

原创 POJ2299 树状数组+离散化

题目地址:http://poj.org/problem?id=2299学过线代就知道这题就是求逆序数。逆序数可以用树状数组来解,比方说数字是9,1,0,5,4。那么我就模拟出一个X轴,从左向右读取数字。读取9,则用sum求和比9小的有哪些,那么比9大的个数就是总个数减比9小的,即ans+=(sum(n)-sum(b[i]));这样就可以统计逆序数。此题数据范围特别大,0 ≤ a

2014-01-17 16:57:44 576

原创 POJ1664 DFS做法

#includeint k,n;long r;void backtrack(long dep,long prev,long n){ long m; if(dep==k&&n>=prev) { r++; return; } for(m=prev;m<=n/2;m++) backtrack(dep+1,m,n-m);}int main(){ int t; sca

2014-01-17 16:33:49 476

原创 floyd两题:POJ1125 Stockbroker Grapevine 和VIJOS P1046 观光旅游

两道floyd的简单题目。最近才学,写起来有点生硬。POJ1125先算出最短路径然后找最佳人选和最短时间。#includeconst int inf=20;int n,dis[101][101];void floyd(){ int i,j,k; for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) if

2014-01-16 20:00:51 691

原创 vijos p1103校门外的树 和 P1165火烧赤壁

p1103校门外的树,模拟出每一棵树,每段给定的长度就代表移走数就可以了。#includeusing namespace std;const int N=10005;int a[N]; int main(){ int m,l,i,head,tail,ans=0; cin>>l>>m; for(i=0;i<=l;i++)a[i]=1; for(i=0;i<

2013-12-09 21:29:24 784

原创 HDU1201 18岁生日

水题,当时一遍AC,0ms过,446B。后来发现很多人写到了将近1000B,于是又改写了一下,400B一下,我看了提交记录,有些人能写到300B一下,我还是没那本事,不过400B以下就很不错了,况且一遍AC了。#includeint run(int y){ if((y%4==0&&y%100)||y%400==0)return 1; else return 0;}int

2013-12-09 13:12:18 429

原创 P1774 机器翻译 使用QUEUE

P1774机器翻译Accepted标签:NOIP提高组2010[显示标签]描述小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进

2013-12-04 18:03:49 889

原创 HDU1274 非递归做法

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1274一开始想用递归做,结果写到一半写不下去了,在网上找到了递归的代码,过了。后来看到DFS做法,也很短小精悍,不过水平有限啊,只是用纯模拟过了。我的思路就是先把没有括号的带有数字的展开,比如2a就展开为aa。我把数字部分重新返回到输入流,再cin就得到了数字,并把数字部分改为‘,’。之

2013-12-04 15:53:22 532

空空如也

空空如也

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

TA关注的人

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