自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

理想之国

still study 让我带着理想启程吧!

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

原创 Codeforces Round #422 (Div. 2) 解题报告

A. I’m bored with life//Author: Lixiang#include<stdio.h>struct A{ int A,B; void init(){ scanf("%d%d",&A,&B); } void work(){ if(A>B){ int t=A; A

2017-07-17 23:12:50 301

原创 [日常]JSCPC2017游记

偶然登录下发现有45次访问了,吓得我赶紧来更个新day0毕竟在南京比赛,报到就没去,打了一场CF,还涨了Rating,美滋滋day16:30起床,这是我大一下起床最早的一次了,然而,等到了7:40还有6个人没齐。热身赛貌似有不少人没找到热身赛在哪。。 A题是个求逆序对,树状数组。 B题是判断一条给定边的最小生成树是否为原图的最小生成树,做两次Prim。 C题是给一个凸多边形每一条边的向量,求面

2017-05-15 15:38:08 868

原创 [占坑]Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) 解题报告

正在改,占坑

2017-05-15 15:37:18 379 1

原创 [Updating] Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) 解题报告

Problem A - Carrot Cakes//Author: Lixiang#include<stdio.h>struct A{ int n,t,k,d; void init(){ scanf("%d%d%d%d",&n,&t,&k,&d); } void work(){ int a=n/k; if(a*k<n

2017-05-15 15:35:08 305

原创 [占坑]Codeforces Round #412 解题报告

太晚,没做,占坑,待更

2017-05-15 15:29:14 198

原创 [Updating] Codeforces Round #411 解题报告

805A - Fake NP除非L=R,否则2必定为答案之一//Author: Lixiang#include<stdio.h>struct A{ int a,b; void init(){ scanf("%d%d",&a,&b); } void work(){ if(a==b)printf("%d\n",a); e

2017-05-15 15:27:38 202

原创 [Updating] Educational Codeforces Round 20 解题报告

Problem A - Maximal Binary Matrix简单构造就行了//Author: Lixiang#include<stdio.h>const int maxn=101;struct A{ int a[maxn][maxn]; int N,K; void init(){ scanf("%d%d",&N,&K); } voi

2017-05-15 15:16:43 203

原创 [Updating] Tinkoff Challenge - Elimination Round 解题报告

Problem A- Oleg and shares判断AiA_i是否满足Ai≡C(modK){A}_{i}\equiv C (mod K)其中C为常数//Author: Lixiang#include<stdio.h>#include<algorithm>const int maxn=100001;struct A{ int a[maxn]; int Min,N,K;

2017-05-15 14:54:44 259

原创 Codeforces Round #409 解题报告

801A - Vicious Keyboard 只能说难受,被systest卡了。 题意:给一串由V ,K字母组成的字符串,任意改变一个字符(也可不改变)使得其中VK子串数量最大 Solution: 找VK数量,再找3连K,或3连V,或开头是KKV,或结尾VVK的,注意N==2要特判//Author: Lixiang#include<stdio.h>#include<string.h>c

2017-04-17 08:19:59 376

转载 Universal Online Judge Documents

Universal Online JudgeDependenceThis is a dockerized version of UOJ. Before installation, please make sure that Docker has already been installed on your OS.The docker image of UOJ is 64-bit, so a 32-b

2017-04-02 13:08:12 1090

原创 Codeforces Round #407 (Div. 2) 解题报告

Problem A-Anastasia and pebbles 简单贪心//Author: Lixiang#include<stdio.h>#include<algorithm>using namespace std;const int maxn=100001;int floordiv(double a,double b){ return (int)a/b;}struct P

2017-03-30 10:35:40 366

原创 [Updating] Codeforces Round #406 (Div. 2) 解题报告

A-The Monster 扩展欧几里得求同余方程ax≡d−b(modc)ax\equiv d-b(mod c)最小正整数解满足条件x∗a+b≥dx*a+b\geq d成立#include<stdio.h>inline int abs(int x){ return x>0?x:-x;}struct The_Monster{ int a,b,c,p,d,x,y; int

2017-03-24 14:42:15 428

原创 [Updating] Codeforces Round #404 (Div. 2) 解题报告

A-Anton and Polyhedrons 大水题//Author: Lixiang#include<stdio.h>struct Anton_and_Polyhedrons{ char s[100]; void init(){ int ans=0,N; scanf("%d",&N); while(N--){

2017-03-16 08:16:01 270

原创 [Updating]Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)解题报告

A-Andryusha and Socks模拟一遍即可//Author: Lixiang#includeconst int maxn=200001;inline int max(int a,int b){ return a>b?a:b;}struct Andryusha_and_Socks{ bool hash[maxn]; int N,ans; void init(){

2017-03-06 08:13:44 322

原创 [Updating]Codeforces Round #402 (Div. 1)解题报告

A-String Game简单的二分+模拟//Author: Lixiang#include#includeconst int maxn=200001;struct String_Game{ char A[maxn],B[maxn],c[maxn]; int pos[maxn],N,n; void init(){ scanf("%s%s",&A,&B); N=strl

2017-03-06 08:04:12 308

原创 Codeforces Round #401 (div. 2)解题报告

Problem A-Shell Game找规律 6个一组//Author: Lixiang#includestruct Shell_Game{ int N,X; void init(){ scanf("%d%d",&N,&X); } int getans(){ switch(N%6){ case 0: if(X==0)return 0; if(X=

2017-02-25 16:17:08 426

原创 [Updating]ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined)

Problem A-A Serial Killer模拟//Author: Lixiang#include#includestruct A_Serial_Killer{ char now[2][11]; int N; void init(){ scanf("%s%s",now[0],now[1]); scanf("%d",&N); } bool cmp(char a[

2017-02-24 11:54:27 453

原创 Codeforces Round #398 (Div. 2)解题报告

Problem A- Snacktower模拟,贪心,每次找最大的//Author: Lixiang#include#include#includeusing namespace std;const int maxn=100001;struct Snacktower{ int a[maxn],b[maxn],N; void init(){ scanf("%d",&N

2017-02-20 15:50:23 396

原创 [Vijos]1266 搜集环盖*增强版 解题报告

背景SHTSC 2002, 2数据加强版描述“……在2002年6月之前购买的百事任何饮料的瓶盖上都会有一个百事球星的名字。只要凑齐所有百事球星的名字,就可以参加百事世界杯之旅的抽奖活动,获取球星背包、随身听,更可以赴日韩观看世界杯。还不赶快行动!……”你关上电视,心想:假设有n个不同的球星名字,每个名字出现的概率相同,平均需要买几瓶饮料才能凑齐所有的名字呢?格式输

2014-08-07 13:55:09 715

原创 初中物理竞赛——磅秤题【力学,难点】

如图所示为某磅秤的结构示意图,物体W放在平台上,物体以及平台的重量由刀口A和E分担,并通过由DF、FC、BG、GO、OQ等轻质硬杆组成的杠杆组(自重不计)的作用由Q处悬挂的砝码表示出来。该秤的结构装置中B和D也为刀口,O、G、C、F处为光滑铰链,P为OQ杆的固定转动轴,P、D同在一竖直线上,Q、C、F同在另一竖直线上。已知:AB=L1,BC=L2,DE=L3,DF=L4,OP =L5。若物体W

2013-04-05 21:23:16 1605

原创 [Hnoi2010]Matrix 矩阵解题报告及AC代码

提交 传送门:http://www.zybbs.org/JudgeOnline/problem.php?id=2003DescriptionInput第一行包含三个正整数N M P表示矩阵的行数列数以及每个数的范围,接下来N行每行包含M个非负整数,其中第i行第j个数表示以格子(i,j)为右下角的2*2子矩阵中的数的和。保证第一行与第一列的数均为0,且每个和都不超过4(P-1

2012-02-04 20:03:46 1333

原创 9.28做题总结

今天做了“逆序对”(非经典问题),动态规划加高精度。。。①高精度加法要多加练习【直接用int】。②解的位数要算【像本题,解的位数是大于50的,开50的高精度70分。③像数学题的要仔细分析【不一定是数学】。附:50分代码【非高精度】,AC代码【高精度】=====

2011-09-29 12:09:58 579 1

原创 模拟赛总结。

第一题:田忌赛马    算法(Algorithm):贪心    注意(Attention):None    难度(Difficulty):Easy NOIP_PJ_T1_T2第二题:01迷宫    算法(Algorithm):FloodFill    注意

2011-09-18 12:40:31 584

原创 初赛读程总结。

最近几天做了30道读程题,错了七题。以后要注意以下几点:①i++不仅要注意引用i++用的是i的值,而且要记住做完后,i一定要++;②初值问题,不解释③做题一步一步仔细地写,不能算错或看错。④不要漏加。。。⑤算不出来要找规律。⑥遇见下标一定要仔细。⑦

2011-07-18 12:03:50 434

转载 思路呀思路

<br />原文来自:http://blog.csdn.net/pouy94/archive/2011/04/04/6301471.aspx<br />无可置否的,思路这个东西在信息学竞赛中往往是最重要的,有了思路算法就基本有了,算法有了就只剩实现的问题了<br />而且,不仅仅是信息学竞赛,很多东西都赖 思路<br />所以说 思路 的重要性不言而喻<br />冬令营上wy神牛喜欢说idea,但我还是比较习惯管这个叫 思路<br />说到思路,难免联想到另一个词,思维定势<br />怎么说呢,思维定势这个

2011-04-04 18:33:00 522

转载 二分图匹配【KM算法】

<br />KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[i],顶点Yi的顶标为B [i],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[i]+B[j]>=w[i,j]始终 成立。KM算法的正确性基于以下定理: <br />若由二分图中所有满足A[i]+B[j]=w[i,j]的边(i,j)构成的子图(称做相等子图)有完备匹配,那么这个完备匹配就是二分图的最大权匹配。 <br />  这个定理

2011-02-24 20:44:00 647

原创 USACO 5.2.2

<br />还是比较水的一题<br />枚举+KMP<br /> <br />+++++++++++++++++++++++++++++++源程序+++++++++++++++++++++++++++++++<br />#include<stdio.h><br />#includ

2011-02-12 18:02:00 539

转载 最大流SAP算法

       距离标记最短增广路算法,复杂度是O(n^2*m),比EK要快得多,看了书上的原理,然后理解了伪代码,一下子就写过了,1459跑了130ms, 还需要改进啊, 挺高兴的终于学了网络流快一点的算法了,半期后把dinic和预留推进算法学了。       其实大致思路就是每次增广最短路径, 维护一个dis数组表示每个点到汇点的最小跳数,dis数组必须有这个性质: dis[i] 0); 定义一条允许弧:如果满足:dis[i] = dis[j] + 1( r[i][j] > 0);那么连接i,j的边就叫

2011-02-11 22:11:00 764

转载 非递归回溯算法求解n-皇后问题

n-皇后问题描述:在n×n格的棋盘上摆放n个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,求解满足条件的棋盘布局。n-皇后问题是典型的可以使用回溯算法求解的问题。下面是n-皇后问题的实现求解算法,先给出使用C语言的实现,再转成Java实现。可以通过详细的程序注释来了解求解过程。C语言实现如下所示:#include #include #include #define N 8int column[N]; int chessboard[N][N]; //

2011-02-11 21:00:00 1958

转载 迷宫问题--非递归回溯 C语言实现

<br />零、注意要素 <br />1、在迷宫周围需要设置围墙(一圈的1) <br />2、每个点的走动,需要记录方向,(x,y,方向) <br />3、如果某点遇到围堵,回退,那么需要标记这个点是不通的。会退后的下一点再往该方向查找时,这一点是不通的,那么那一点需要判断其他方向,如果其他方向也不同则回溯,并且标记那一点也为不通的。 <br />4、stack的topPointer问题,topPointer是指向最上面的数据的上一个空间,<br />void PUSH(stackNode node,maz

2011-02-11 20:57:00 6490

转载 回溯法

一、  回溯的基本思想是:    从一个给定的起始位置,我们希望到达一个目的位置。我们重复地进行选择(可能是猜测)下一个位置应当是什么。如果一个给定的选择是有效的, 即新的位置可能位于通向目的位置的途径中,则前进到这个新的位置,然后继续。 如果一个给定的选择通向了死胡同 ,则回到前面的位置,进行其他的选择。回溯就是通过一系列位置选择到达目的位置,并且在不能到达目的位置时反向退回的策略。 通俗的讲法:从一条路往前走,能进则进,不能进则退回来,换一条路再试。算法书上可能这样说:回溯法是在包含问题的所有解的解空间

2011-02-11 11:29:00 1594

原创 Edmonds-Karp算法实现代码【原创】

#includeusing namespace std;const int maxn=220;int a[maxn][maxn],pre[maxn],m,n,ans;inline int work_work(){ int queue[maxn]={0},mark[maxn]={0},head=0,tail=1,i; queue[tail]=mark[1]=1; while(head!=tail) { head++; for(

2011-02-09 16:05:00 919

转载 Edmonds-Karp算法实现代码

<br />#include <cstdio>#include <iostream>#include <vector>#include <queue>#include <algorithm>#include <functional>#define Maxn 100#define Maxnum 99999999using namespace std;int n, f[Maxn][Maxn], g[Maxn][Maxn], s, t;int path[Maxn], p

2011-02-09 15:59:00 1632

原创 Edmonds-Karp算法

<br />基础的最大流算法,每次Bfs寻找最短路进行增广,这时候的增广和匈牙利算法的增广不同,找出一条残余路径就可以了。<br />然后对残余网络进行增广,不要忘记正向增广,相当于负向减少,也要在图中保存记录。<br />最后求一个割集来得到最大流。<br /> <br />最大流模型:<br />点:对点来说要求是进多少出多少<br />边:对边要求是不能超过最大容量,所以c的值为所有的残余边中的最小值<br /> <br />效率<br />O(VE2),效率可以满足一般题目要求。<br /> <br

2011-02-09 15:54:00 5540

转载 Ford-Fulkerson与Edmonds-Karp求解最大流

<br />       在算法导论中对求解最大流问题给出了一般性的解决方法,但并没有涉及到具体的实现。在这里我还是重新的对求解最大流的思想进行一般性的描述,然后再给出具体的实现。<br />      Ford-Fulkerson方法依赖于三种重要思想,这三个思想就是在上一篇网络流基础中提到的:残留网络,增广路径和割。Ford-Fulkerson方法是一种迭代的方法。开始时,对所有的u,v∈V有f(u,v)=0,即初始状态时流的值为0。在每次迭代中,可通过寻找一条“增广路径”来增加流值。增广路径可以看成是

2011-02-07 20:39:00 2822

转载 网络最大流——Ford-Fulkerson和Edmonds-Karp

最天下午又听了一节课,勉强把MaxiumFlow的两个算法写出来了。其实两个算法的不同之处就在于寻找“增广链”的方式——Ford-Fulkerson是随便找一条,我就用了DFS;Edmonds-Karp要求找一条节点数最少的,我用BFS。但就是这样的差别,两个程序的执行效率不可同

2011-02-07 20:33:00 1009

转载 SPFA算法简介

SPFA算法简介SPFA算法采用图的存储结构是邻接表,方法是动态优化逼近法。算法中设立了一个先进先出的队列Queue用来保存待优化的顶点,优化时从此队列里顺序取出一个点w,并且用w点的当前路径D[W]去优化调整其它各点的路径值D[j],若有调整,即D[j]的值改小了,就将J点放入Queue队列以待继续进一步优化。反复从Queue队列里取出点来对当前最短路径进行优化,直至队空不需要再优化为止,此时D数组里就保存了从源点到各点的最短路径值 。    下面举一个实例来说明SFFA算法是怎样进行的:    设有一个

2011-01-23 22:02:00 591

原创 POJ2823

Sliding Window                 Time Limit: 12000MS             Memory Limit: 65536K                Total Submissions: 20827    Accepted:

2011-01-22 20:47:00 2757

转载 优先队列

优先队列。为什么不从表、栈、队列这种最简单的结构开始呢?我觉得没必要,自己看没必要,别人更没必要。优先队列,即在普通队列的 ADT 上加了一重逻辑,让符合某种条件的元素优先出队。一般以数值大小为条件,所以也分为最大化优先队列和最小化优先队列。优先队列的核心实现是一个堆。堆是一种特殊的数据结构。它是一棵二叉树,元素必须从左至右填入最后一层,然后再创建新一层。因此堆满足很多有趣的性质:1)若堆的元素个数为 N,则高度不超过 [log N] + 1。2)优先队列可以用数组表示。在这种情况下,节点 N 的父节点在

2011-01-22 20:26:00 1346 2

空空如也

空空如也

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

TA关注的人

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