![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++语言、信息学奥赛
文章平均质量分 92
cjoier_zouzhen1211
这个作者很懒,什么都没留下…
展开
-
5月6日动态规划测试解题报告
5月6日动态规划测试解题报告 --written by:邹祯第一题:免费馅饼Problem description:都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然原创 2017-05-22 21:40:33 · 228 阅读 · 0 评论 -
POJ3278 BFS
2017年3月23日 | ljfcnyali题目大意 FJ要抓奶牛。 开始输入N(FJ的位置)K(奶牛的位置)。 FJ有三种移动方法: 1、向前走一步,耗时一分钟。 2、向后走一步,耗时一分钟。 3、向前移动到当前位置的两倍N*2,耗时一分钟。 问FJ抓到奶牛的最少时间。PS:奶牛是不会动的。 Sample Input5 1715 17Sample Output414题目分转载 2017-05-29 13:45:10 · 214 阅读 · 0 评论 -
POJ2506 高精度+递推
2017年3月23日 | ljfcnyali 题目大意 有2×1和2×2两种规格的地板,现要拼2×n的形状,共有多少种情况。Sample Input2812100200123452812100200Sample Output3171273184510040015215293433113547025110712920295059935170279747转载 2017-05-29 13:43:19 · 499 阅读 · 0 评论 -
高精度重载运算符模板
2017年3月21日 | ljfcnyali 高精度重载运算符一直是很多人入门的基础,我也不例外。 这么久的努力奋斗以来,突然发现自己连一个高精度重载运算符的模板都没有打,立刻开始敲键盘。 这个高精度重载运算符其实很简单,会使用”operator”的就会,不会也没有任何办法。 所以,我决定不写方法,也就仅仅贴一个代码,给理解了”operator”的各位一个可以仿照的模板。 保证正确(但是转载 2017-05-29 13:41:03 · 976 阅读 · 0 评论 -
POJ2442 堆
2017年3月19日 | ljfcnyali 题目大意 m行n列的一个数矩阵,每行抽一个数,可以同列,那么有n^m种sequence组合,在这些sequence中,找出:sequence和最小的n个sequence组合。Sample Input12 31 2 32 2 3123412 31 2 32 2 3Sample Output3 3 413 3 4题目分析 当转载 2017-05-29 13:39:36 · 216 阅读 · 0 评论 -
POJ2112 Dinic + Floyd
2017年3月18日 | ljfcnyali 题目大意 K个产奶机,C头奶牛,每个产奶机最多可供M头奶牛使用;并告诉了产奶机、奶牛之间的两两距离Dij(0<=i,j2 3 20 3 2 1 13 0 3 2 02 3 0 1 01 2 1 0 21 0 0 2 0Sample Output21 2 题目分析 这道题目直接Floyd求最短距离,然后二分答案乱搞AC代码/*****转载 2017-05-29 13:36:11 · 223 阅读 · 0 评论 -
POJ1061 数论gcd
2017年3月18日 | ljfcnyali 题目大意 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同转载 2017-05-29 13:34:41 · 227 阅读 · 0 评论 -
扩展欧几里得
2017年3月18日 | ljfcnyali 之前一直对扩欧十分的懵懂,只会暴力的背下公式.long long exgcd(long long a, long long b, long long &x, long long &y) { if(b == 0) { x = 1; y = 0; return a; } long l转载 2017-05-29 13:32:45 · 325 阅读 · 0 评论 -
POJ1328 贪心
2017年3月18日 | ljfcnyali 题目大意 地图的x轴的上方为海,下方为陆地,海中有n个小岛,坐标为(isl[i].x,isl[i].y)。有一种雷达,能探测到的范围为以d为半径的圆。问海岸线上至少造多少雷达可以把所有的小岛都包含在内。注意雷达是建在海岸线上的,也就是x轴上的。Sample Input3 21 2-3 12 11 20 20 0Sample OutputCa转载 2017-05-29 13:27:32 · 259 阅读 · 0 评论 -
POJ1753 枚举
2017年3月18日 | ljfcnyali 题目大意 有44的正方形,每个格子要么是黑色,要么是白色,当把一个格子的颜色改变(黑->白或者白->黑)时,其周围上下左右(如果存在的话)的格子的颜色也被反转,问至少反转几个格子可以使44的正方形变为纯白或者纯黑?Sample InputbwwbbbwbbwwbbwwwSample Output4题目分析 进行暴力搜索,枚举每一个答案是否可转载 2017-05-29 13:24:22 · 517 阅读 · 0 评论 -
HDU2454 判定简单图
2017年3月18日 | ljfcnyali 题目大意: 给出一个图的每个点的度的序列,求能否构成一个简单图;Sample Input26 4 4 3 3 2 24 2 1 1 1Sample Outputyesno题目分析:使用Havel定理,可以轻易地AC。Havel定理: 给定一个非负整数序列{dn}; 若存在一个无向图使得图中各点的度与此序列一一对应; 则称此序列可图化。转载 2017-05-29 13:22:17 · 797 阅读 · 0 评论 -
POJ2492 并查集
2017年3月16日 | ljfcnyali 题目大意: 有点bt,就是正常昆虫是异性交配,输入一对就代表这一对交配了,让你看这一群昆虫是否有同性恋! Input: 输入的第一行包含方案数量。每个方案以一行给出错误数量(至少一个,最多2000)和由单个空间分隔的交互数量(最多1000000)开始。在下面的行中,每个交互以两个不同的bug编号的形式给出,由一个空格分隔。错误从一个开始连续编号转载 2017-05-29 13:14:49 · 280 阅读 · 0 评论 -
POJ3486 线段树
2017年3月15日 | ljfcnyali POJ3486是一道经典线段树题目,题目大意是: 给出了一个序列,你需要处理如下两种询问。 “C a b c”表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 10000)。 “Q a b” 询问[a, b]区间中所有值的和。 Input 第一行包含两个整数N, Q。1 ≤ N,Q ≤ 100000. 第二行包含n个整数转载 2017-05-29 13:12:51 · 285 阅读 · 0 评论 -
POJ2965 枚举
2017年3月25日 | ljfcnyali 题目大意 一个冰箱上有4*4共16个开关,改变任意一个开关的状态(即开变成关,关变成开)时,此开关的同一行、同一列所有的开关都会自动改变状态。要想打开冰箱,要所有开关全部打开才行。Sample Input-+-----------+--Sample Output61 11 31 44 14 34 412345676转载 2017-05-29 13:46:46 · 292 阅读 · 0 评论 -
POJ1860 SPFA
2017年3月25日 | ljfcnyali 题目大意 给定N种货币,某些货币之间可以相互兑换,现在给定一些兑换规则,问能否从某一种货币开始兑换,经过一些中间货币之后,最后兑换回这种货币,并且得到的钱比之前的多。Sample Input3 2 1 20.01 2 1.00 1.00 1.00 1.002 3 1.10 1.00 1.10 1.00Sample OutputYES1 YES转载 2017-05-29 13:48:20 · 283 阅读 · 0 评论 -
USACO3.4.1-heritage
2017年5月29日 | ljfcnyali 题目大意 农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而不是用图形的方法。 你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的后序遍历”的符号。每一头奶牛的姓名被译为一个唯一的字母转载 2017-05-31 21:53:00 · 297 阅读 · 0 评论 -
USACO3.3.1-fence
2017年5月16日 | ljfcnyali 题目大意 Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。 John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。转载 2017-05-31 21:51:13 · 272 阅读 · 0 评论 -
USACO3.2.5-butter
2017年5月16日 | ljfcnyali 题目大意 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。当然,他用额外赚来的钱给奶牛买奢侈品。 农夫John很狡猾。他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的牧场。他打算将糖放在那里然后下午发出铃声,以至他可以在晚上挤奶。转载 2017-05-31 21:44:07 · 344 阅读 · 0 评论 -
USACO3.2.4 mequare
2017年5月6日 | ljfcnyali 题目大意 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色。这8种颜色用前8个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用转载 2017-05-31 21:42:31 · 220 阅读 · 0 评论 -
POJ1258 Kruscal
2017年4月4日 | ljfcnyali Kruscal水过,直接给代码! Sample Input40 4 9 214 0 8 179 8 0 1621 17 16 0Sample Output28/************************************************************************* > File Name:转载 2017-05-31 21:40:54 · 255 阅读 · 0 评论 -
KM算法 模板
2017年4月3日 | ljfcnyali KM算法大意 1.运用贪心算法初始化标杆。 2.运用匈牙利算法找到完备匹配。 3.如果找不到,则通过修改标杆,增加一些边。 4.重复2,3的步骤,找到完备匹配时可结束。KM算法实现 乱搞! 1.初始化,标杆为女生的最大期望值; 2.枚举每一个女生; 3.DFS尝试可否成功,成功则枚举下一个女生; 4.如果失败,减少期望值,返回3;转载 2017-05-31 21:39:15 · 395 阅读 · 0 评论 -
POJ2485 Kruscal
2017年4月3日 | ljfcnyali 题目大意 给你一个邻接矩阵,求最小生成树的最大边Sample Input130 990 692990 0 179692 179 0Sample Output692题目分析 Kruscal水过,不讲了。AC代码/******************************************************************转载 2017-05-31 21:36:56 · 223 阅读 · 0 评论 -
POJ1703 并查集
2017年3月16日 | ljfcnyali ∇ 发表评论(0) ⊕ 查看评论 题目大意:Tadu City里面有两个黑帮团伙Gang Dragon和Gang Snake,一共有n名团伙成员(还不知道属于这两个黑帮的哪一个)。现在警察局有一些信息,每条信息包含2个人编号,表示这2个人属于不同的帮派。问给你2个人的编号,能否确定他们是否属于同一个帮派。Sample Input1 5 5A 1 2转载 2017-05-29 13:19:30 · 224 阅读 · 0 评论 -
POJ2524 并查集
2017年3月18日 | ljfcnyali 题目大意 世界上宗教何其多。假设你对自己学校的学生总共有多少种宗教信仰很感兴趣。学校有n个学生,但是你不能直接问学生的信仰,不然他会感到很不舒服的。有另外一个方法是问m对同学,是否信仰同一宗教。根据这些数据,相信聪明的你是能够计算学校最多有多少种宗教信仰的。Sample Input10 91 21 31 41 51 61 71 81转载 2017-05-29 13:29:40 · 222 阅读 · 0 评论 -
POJ3253 Huffman Tree
题目大意 FJ需要修补牧场的围栏,他需要 N 块长度为 Li 的木头(N planks of woods)。开始时,FJ只有一块无限长的木板,因此他需要把无限长的木板锯成 N 块长度。Sample Input3858Sample Output34题目分析 直接一个哈夫曼水过好不好,Huffman Tree 给定 N planks of woods, 1.在 N planks 中每次找出转载 2017-05-29 13:55:43 · 247 阅读 · 0 评论 -
POJ1125 Floyd
2017年4月3日 | ljfcnyali Floyd水题,直接上代码!#include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>using namespace std;const long long maxn=1100,INF=1000000000;long long a[maxn][maxn];int转载 2017-05-29 13:57:02 · 201 阅读 · 0 评论 -
POJ3259 FLOYD
2017年3月28日 | ljfcnyali 题目大意 农夫约翰在探索他的许多农场,发现了一些惊人的虫洞。虫洞是很奇特的,因为它是一个单向通道,可让你进入虫洞的前达到目的地!他的N(1≤N≤500)个农场被编号为1..N,之间有M(1≤M≤2500)条路径,W(1≤W≤200)个虫洞。FJ作为一个狂热的时间旅行的爱好者,他要做到以下几点:开始在一个区域,通过一些路径和虫洞旅行,他要回到最开时转载 2017-05-29 13:50:04 · 275 阅读 · 0 评论 -
动态规划——经典例题(一)
一、合并石子【问题描述】一个操场上一排地摆放着N堆石子,现要将石子有序地合并为一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。 【编程任务】 试设计一个程序,计算出将N堆石子合并成一堆的最小得分。 【输入格式】 第1行为一个正整数N(2<=N<=100)。 以下N行,每行一个正整数,小鱼10000,分别表示第i堆石子的个数(1<=i<+N)。 【输原创 2017-05-29 12:53:01 · 1601 阅读 · 0 评论 -
再次介绍一位大神的博客
网址:http://my.csdn.net/cnyali_ljf原创 2016-10-15 10:54:30 · 3347 阅读 · 1 评论 -
介绍一位大神的博客
网址:http://blog.csdn.net/logo_FC/article/details/52741432原创 2016-10-15 10:52:11 · 3439 阅读 · 0 评论 -
推荐题库
推荐题库国外 codeforces题库(简称cf,需要翻墙) 洛谷 北京大学POJ 长郡中学OJ topcoder题库原创 2016-11-17 20:52:25 · 3625 阅读 · 0 评论 -
·蒟蒻」神奇的的幻方
神奇的幻方/*1. 若(K-1) 在第一行但不在最后一列,则将K填在最后一行,(K-1) 所在列的右一列;2. 若(K-1) 在最后一列但不在第一行,则将K填在第一列,(K-1) 所在行的上一行;3. 若(K-1) 在第一行最后一列,则将K填在(K-1) 的正下方;4. 若(K-1) 既不在第一行,也不在最后一列,如果(K-1) 的右上方还未填数,则将K填在(K-1)的右上方,否则将K填在原创 2016-11-17 15:51:10 · 3198 阅读 · 0 评论 -
搜索例题讲解--小木棍
题目【 问题描述】 乔治有一些同样长的小木棍, 他把这些木棍随意砍成几段, 直到每段的长都 不超过 50。 现在, 他想把小木棍拼接成原来的样子, 但是却忘记了自己开始时有多少根 木棍和它们的长度。 给出每段小木棍的长度, 编程帮他找出原始木棍的最小可能长度。 【 输入】 输入文件共有二行。 第一行为一个单独的整数 N 表示砍过以后的小木棍的总数, 其中 N≤60, 第 二行为转载 2016-10-15 10:29:44 · 6052 阅读 · 0 评论 -
11.5考试
循环数组字符串模拟02火车 删数问题 排数问题 数字乘积 文件名 train.cpp del.cpp Arra.cpp 输入文件 train.in del.in Arra.in 输出文件 train.out del.out Arra.out 空间限制 128M 128M 128M 时间限制 1S 1S 1S 分值 100 100 1001、火车描述 火车从始发站(称为第1 站)原创 2016-11-05 16:47:28 · 3351 阅读 · 0 评论 -
switch语句
一、语句格式switch(表达式) { sase 常量表达式1: 语句序列1; break; sase 常量表达式2: 语句序列2; break; sase 常量表达式n: 语句序列n; break; … default:原创 2016-07-15 22:12:05 · 4397 阅读 · 0 评论 -
if选择结构
一、if语句(单分支结构)格式1: if(条件表达式) 语句1; 功能:如果条件表达式的值为真,即条件成立,语句1将被执行。否则,语句1将被忽略(不被执行),程序将按顺序选择结构之后的下一条语句继续执行。 例1 读入一个整数a,如果a为偶数则在屏幕上输出yes. 源代码:#include<iostream>#include<cstdio>using namespace std原创 2016-07-15 17:24:19 · 7618 阅读 · 0 评论 -
for 语句
C++中为我们提供了三种循环结构,循环结构是为了解决重复做的意见事情或多件事情,循环分为“当型循环”和“直到型循环”。 for循环是典型的当型循环。一、语句格式格式1: for(控制变量初始化表达式;条件表达式;增量标表达式) 语句1; 说明:语句1是for循环语句的循环体,它在条件满足的时候被重复执行。 格式2: for(控制变量初始化的表达式;条件表达式,增量表达式){原创 2016-07-16 16:11:33 · 7391 阅读 · 0 评论 -
do-while语句
一、语句格式格式1: do 语句1; while(条件表达式); 说明:语句1是do-while语句的循环体; 格式2: do { 语句1; 语句2; … } while(条件表达式); 说明:循环体部分由多个语句构成,应由一队花括号括起来,构成一个语句块的形式。二、语句执行过程(1)执行一遍循环体 (2)求出作为循环条件的“条件表达式”的值,若逻辑为真,原创 2016-07-16 16:46:42 · 3719 阅读 · 0 评论 -
循环嵌套
一、例题例1 求s=1!+2!+3!+…+10! 【分析】这个问题是求10以内阶乘的和,可以用for循环来实现。 源代码:#include<iostream>#include<cstdio>using namespace std;int main(){ int s=0; for(int i=1;i<=10;i++) { int t=1;原创 2016-07-17 22:30:59 · 4231 阅读 · 1 评论 -
一维数组
一、为什么要使用数组通过前面几章的学习,我们已经可以编写程序来解决各种相当复杂的问题了,但是要处理的数据比较多时,仅仅依靠前面的知识是不够的,即使简单的问题,也可能需要复杂的程序来解决,请看下面的例子: 例题: 输入50个学生的成绩,打印出低于平均分的成绩和序号。 【分析】 在解决这个问题的时候,虽然可以通过50个变量来解决,但是如果这样编写程序,计算机的优势便没有体现,程序会变得非常繁琐,可原创 2016-07-18 10:04:43 · 3530 阅读 · 0 评论