自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++心路历程41】【体检】【贪心】【思路题】

有没有发现和上一篇博客好像。。。然而就是受到了厨师的影响!那个题纯纯的算一下最大值和平均的关系就可以了。。。所以今天在考试中愚蠢… 【问题描述】   由于流感爆发,所以医院有很多人排队检查身体。   医院有m个医生,他们的工作效率相同,但有一个奇怪规则:要么m个医生都同时工作,要么只有一个医生工作(其他医生都监督这个不幸的医生)。   现在有n个人排队体检,每个人需要不同的时间来完成体检。一

2017-10-27 21:20:47 648 1

原创 【ZOJ3778】【C++心路历程40】【厨师】【贪心】【思路题】

哈哈本来是一道考试题,被发现了之后感觉多有趣的~ 【问题描述】   中秋佳节,xxx家亲朋好友欢聚一堂。作为兼职厨师,xxx需要为大家做n道菜。   已知道第i道菜有xi个工序,xxx每分钟可同时做m道菜的一个工序。   现在请你帮xxx计算完成n到菜的最短时间。 【输入格式】   输入的第1行为整数n和m,它们的意义如题目描述。第2行有n个整数,第i个整数为xi,表示第i道菜的工序数目。

2017-10-09 19:25:18 475 1

原创 【CQOI2009】【C++心路历程39】叶子的颜色【贪心】

网上题解dp很多了~这里发一个贪心的。 其实很自然,对于叶子节点的父亲,黑/白色哪种颜色的数量更多,这个父亲就应该染成哪种颜色(如图)。而当黑白数目相同时,染成哪种颜色实际上是无所谓的。证明: 那么,对于每个父亲和他的所有儿子,都符合最优子结构。并且满足眼前看起来最优的策略。 那么,我们再向上一层考虑。 对于最顶端的父亲节点,我们发现为0的儿子有1个,为1的儿子有2个,这时我们就应该将顶

2017-10-03 20:35:03 556

原创 【BZOJ2239】【C++心路历程38】猜谜语【dp线型序列分组计算】

【问题描述】   给出一个长度为N的数字字符串和一个数字T,要求插入最少的加号或者乘号,使得数字字符串的运算结果为T。运算符*号优先级高于+号,运算数可以有任意个前导0.【输入格式】   输入不超过5组数据,每组数据两行。   每组数据的第一行为长度N,只包含0~9的数字字符串;第二行为一个数字T。   输入T<0表示输入结束。【输出格式】   输出一个数字单独占一行,表示最少需要添加的运

2017-08-29 15:40:02 645 1

原创 【C++心路历程37】钓鱼(刷表法dp)

【问题描述】   约翰是个垂钓谜,星期天他决定外出钓鱼h小时(1≤h≤16),约翰家附近共有n个池塘(2≤n≤25),这些池塘分布在一条直线上,约翰将这些池塘按离家的距离由近到远编上号,依次为L1,L2,…,Ln,约翰家门外就是第一个池塘,所以他到第一个池塘是不用花时间的。   约翰可以任选若干个池塘由近到远地垂钓,并且在每个池塘他都可以呆上任意长的时间,但呆的时间必须为5分钟的倍数(即5分钟

2017-08-27 11:46:55 2158

原创 【C++心路历程36】单调队列优化多重背包

我们知道,01背包的时间复杂度为O(N*C),而完全背包因其一维数组填表的特殊性也可一做到O(N*C),那么多重背包的O(N*C*n[i])(n[i]为每个物品的数量)我们看起来就有些不爽了。其实可以利用单调队列做到O(N*C)的复杂度!int N,v[maxn],p[maxn],C,n[maxn]; 数组意义: N个物品,每个物体有n[i]个,体积为v[i],价值为p[i],现放入容积为C的背

2017-08-03 11:25:59 506

原创 【C++】【USACO3.2.2】01串

问题描述】   给出三个整数:N,L,i。需要你找出长度为N,且1的个数小于等于L的二进制数中,第i小的那个二进制数。【输入格式】 共一行,用空格分开的三个整数N,L,i。 【输出格式】 共一行,输出满足条件的第i小的二进制数。【输入样例】 5 3 19【输出样例】 10011【数据范围】 1 <= L <= N <=31题目相当简单。 【分析】 1、爆搜,相当好写,数据水能拿7,

2017-08-02 10:15:19 477

原创 【C++心路历程35】【bzoj1632】[Usaco2007 Feb]Lilypad Pond

【问题描述】   FJ建造了一个美丽的池塘,用于让奶牛们锻炼。这个长方形的池子被分割成了 M 行和 N 列(正方形格子的 。某些格子上有莲花,还有一些岩石,其余的只是美丽,纯净,湛蓝的水。   贝茜正在练习芭蕾舞,她从一个莲花跳跃到另一个莲花,当前位于一个莲花。她希望在莲花上一个一个的跳,目标是另一个给定莲花。她不能跳入水中,也不能跳到岩石上。贝茜的每次的跳跃像国际象棋中的骑士一样:横向移动1,

2017-07-29 11:05:15 440

原创 【C++心路历程34】【HDU1667】【POJ2286】【UVA1343紫书210例题】the rotation game

【问题描述】   如下图所示形状的棋盘上分别有8个1,8个2,8个3。在图上标明了8种旋转方式:每种旋转方式包含旋转方向和旋转的是拿一列或行。      (没有图 很尴尬)   现在需要把棋盘经过若干次旋转,使得中间8个方格中的数字相同,例如下图,先进行一次A方式的旋转,再进行一次C方式的旋转后,棋盘中间的8个方格的数字都是2。      现在需要你对给出的棋盘的初始状态和目标状态,

2017-07-27 11:10:02 374

原创 【C++心路历程32】【NOIP2000】单词接龙【图论爆搜最长链】

【问题描述】   单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母(不是单词),请你计算以这个字母开头的长度最长的“龙”,每个单词最多在“龙”中出现两次。   要注意的是,两个单词接龙规则如下:   1、如果第一个单词的后面的连续若干字母与第二个单词前面的连续若干字母依次相同,则这两个单词可以接龙,例如 beast 和 astonish ,如果接成一

2017-07-26 17:30:32 4403 1

原创 【C++心路历程33】【USACO 2016 February Contest, Bronze Problem 3.】 Load Balancing(加难)

【问题描述】   FJ的n头牛都站在二维农场上的一些坐标点(x1,y2)…(xn,yn)上,其中xi和yi都是正奇数,大小不会超过1,000,000。FJ想以建造一条很长(实际上是无限长)的南北向的栅栏的方式来分割他的农场,这个栅栏表示的直线符合直线方程(或者说一次函数)x=a(a是一个偶数,请确保FJ不会将栅栏穿过任何一头牛)。FJ同时还想建造另一条很长(实际上也是无限长)的东西向的栅栏,这个栅

2017-07-25 13:31:52 1426

原创 170722考试

迷之LL常量定义….. T1没什么好说的 T2感觉很有阶段性啊 考原题怎么办2333 T3同T2 T4再一次证明了学好语文的重要性 回去复习缩点板子 这可能不是最后一次坠落,但终不是最后一次启航

2017-07-25 13:09:32 198

原创 170715考试

wxp大佬出的题就是不一样= = T1虽然水但是经验不足 除以2除出问题就搞死50分呜呜呜 记住了 高精度代码就当每天起床困难综合征打。 T2数据比较水 一维线段树可以过全部(然而理论时间复杂度不行),所以我的线段树数组开大了 清空的时候就TLE掉。gaiqiubeishi T3的二分 自己拿到真是一点想法都没有、(黑人问号.jpg)话说那个下行和小于上行和并没有搞懂。马上! 另:数据结

2017-07-25 13:06:31 189

原创 【C++心路历程31】(LCA 倍增 及其应用)魔法道具

【问题描述】   小Z学习完了魔法之后,便开始存钱去买高级的魔法道具。但小Z觉得存钱太慢,决定开始进行交易。   现在小Z来到著名的妖精的森林,里面有许多森之妖精开的店铺。一共有N个店铺在森林里,有N-1条双向道路将其连通,任意两个店铺都可以到达。每个店铺都可以购买智杖,也可以卖出智杖,当然在同一个店铺卖出和买入的价格相同。现在小Z从x号店铺出发,到y店铺,途中一共只能买入一根智杖然后再卖出。

2017-07-18 12:16:18 360

原创 170717考试

每次都是一步之遥啊。 T1不多说,scanf的负号倒是坑了我些许会。 T2方程好想,实现比较难。二分快速幂纠结了好久模没有取对。基础算法写的好笨拙。 T3想到算法,倍增又写不来了,简直石乐志。 走出那一步,需要多大的勇气和毅力。 这可能不是最后一次坠落,但终不是最后一次启航

2017-07-17 13:54:51 275

原创 170708考试

lpz大佬出的题就是不一样。。 T1果然智障。数学公式的变化。。看来以后每天的题要认真做! T2撞上原题,但是我边界果断犯错啊啊啊啊 感觉今年复赛还是很有可能考期望&概率的。 T3是个好题,不多说了。 水~~~~ 这可能不是最后一次坠落,但终不是最后一次启航

2017-07-16 11:52:08 186

原创 170620考试

T1没有往BFS序想,写了个暴力模拟居然A了。我都不知道怎么对的。以后作图论题还是要先想基础算法啊,理清思路再做题。 T2说明对二分和枚举应用不够吧,总觉得很多题想不到,但是好像又是那么一回事。平时做题得多加留意。 T3其实跟之前做过的某道生成树很像,因为写过题解就不加叙述。 T4,缩点似乎频繁出现在考试题啊,感觉是因为考察的比较综合。 总的来说考试经验还是相当欠缺,没把握做题顺序和时间分配

2017-07-16 11:43:45 209

原创 【C++心路历程11】火柴棒等式1182,打表!

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;int a[25]={0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,8,9,6,9,29,39,38,65,88,128};int main(){ int n; scanf("%d",&n)

2017-07-14 20:11:28 358

原创 170713小考总结

好吧前面还差两篇没有写。。伏笔。 感觉这次比前两次要好,但还是有一定差距,毕竟像老板说的一样,很多东西还是整得模棱两可,是是而非(感觉形容我的学习非常合适) 这两天想了好多东西,关于oi,关于认知,关于未来。怎么说心里至少有个底了。人,一定要有梦想。 说说考试吧,感觉是暴风雨前的寂静。。前三道说实话都是属于送分类型的。 T1老眼昏花?我真的没怎么注意那个输出排序,当时在考场上本来还想问的,问

2017-07-13 19:14:21 328

原创 【C++心路历程30】(APIO2013)道路费用

【问题描述】   皮特现在是C国最富有的人。   C国共有n个城市(用1~n 编号),现在这些城市由m条双向道路连接,其中城市1为首都。保证一个人从城市1出发,经过这些道路可以到达其他的任何一个城市。当然,所有的这些道路都是要收费的,使用道路i需要向该道路的所有者支付ci的费用。已知所有的ci互不相同。最近C国计划新建 条道路,毋庸置疑,当然是富豪皮特负责,因而新建的k条道路(也仅有这k条道路)

2017-07-11 13:39:20 1166

原创 【C++心路历程29】严格次小生成树

姊妹题了感觉。另外一种生成树http://blog.csdn.net/ctf109/article/details/74297446【问题描述】   小C最近学了很多最小生成树的算法,Prim算法、Kurskal算法、消圈算法等等。   正当小C洋洋得意之时,小P又来泼小C冷水了。小P说,让小C求出一个无向图的次小生成树,而且这个次小生成树还得是严格次小的,也就是说:如果最小生成树选择的边集是EM

2017-07-04 11:19:03 514 2

原创 【C++心路历程28】 奇葩次小生成树

【问题描述】   给出一个无向图,图的边上有权值,已知该图的最小生成树边权和为A,问有多少种方案删除图的一条边,使得新图仍然存在生成树,而且最小生成树的边权和大于A。【输入格式】   第一行是n,表示图的顶点数目,顶点编号为1~n。   接下来是一个n*n的矩阵,矩阵的第i行的第j个整数表示顶点i与顶点j的边权值(矩阵是对称的),如果为-1,表示这两个顶点之间无边连接。【输出格式】   一个

2017-07-04 11:13:53 385

原创 【C++心路历程27】变量排序

变量排序 【问题描述】   把不同的变量进行升序排序用小于操作符命令实现的。例如由A < B, B < C 和 C < D 可以得到升序序列A, B, C, D 。   在本题中,你将得到若干条小于操作符命令,形如 A < B 的格式,请你确定利用这些命令,能否得到一个唯一的升序序列。【输入格式】   第1行为整数n,m,n(2 <= n <= 26)表示参与排序的是前n个大写字母,m表示

2017-05-20 11:53:31 520

原创 【C++心路历程26】考试复习【尺取法】poj3320

【问题描述】   为准备考试,Jessica开始阅读一本很厚的课本。要想通过考试,必须把课本中所有知识点都掌握。这本书总共有P页,第i页恰好有一个知识点a[i](每个知识点都有一个整数编号)。全书中同一个知识点可能会被多次提到,所以她希望通过阅读其中连续的一些页把所有的知识点都覆盖到。给定每页写到的知识点,请求出要阅读的最少页数。 【输入格式】   第一行一个整数P,表示书本的总页数。接下来的一

2017-03-16 19:19:34 465

原创 【C++心路历程25】课堂讲义【dp加单调队列】

【问题描述】   高二数学《课堂讲义》总共有n道题目要抄,编号1..n,抄每道题所花时间不一样,抄第i题要花 a[i] 分钟。由于 xxx还要准备IOI,显然不能成天写课堂讲义。xxx决定只用不超过 t 分钟时间抄这个,因此必然有空着的题。每道题要么不写,要么抄完,不能写一半。一段连续的空题称为一个空题段,它的长度就是所包含的题目数。这样应付自然会引起x老师的愤怒。x老师发怒的程度(简称发怒度)

2017-03-09 19:09:35 299

原创 【C++心路历程24】龙珠【dp加单调队列】

【问题描述】   你得到了一个龙珠雷达,它会告诉你龙珠出现的时间和地点。  龙珠雷达的画面是一条水平的数轴,每一个窗口时间,数轴的某些点上会出现同一种龙珠,每当你获得其中一颗龙珠,其它龙珠就会消失。下一个窗口时间,数轴上又会出现另一种龙珠。总共有n个窗口时间,也就是总共有n种龙珠。   假设你会瞬间移动,你从数轴的x点移动到y点,耗时0秒,但是需要耗费|x-y|的体力。同时,挖出一颗龙珠也需要耗费

2017-03-08 19:39:07 534

原创 【C++心路历程23】求幂的和 分治算法

【问题描述】   题目很简单:请你计算(a^1+a^2+…+a^n) mod 1234567 的结果,其中(0 < a,n < 2^31 )。【输入格式】 第一行T,表示数据组数,接下来的T行,每行包含a和n,表示一组数据。【输出格式】 对于每组数据,输出对应的答案。【输入样例】 5 1 7 3 10 5 8 9 20 17 100【输出样例】 7 88572 488280

2017-02-09 10:19:52 1671

原创 【C++】【USACO1.1.4】项链问题

【问题描述】  13号又是一个星期五。13号在星期五比在其他日子少吗?为了回答这个问题,请你写一个程序计算每个月的十三号落在周一到周日的次数。 给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数,N为正整数且不大于400。 这里有一些你要知道的:   1、1900年1月1日是星期一。   2、4,6,11和9月有30天。其他月份除了2月

2017-02-05 10:41:47 1086

原创 【C++】【USACO1.1.3】黑色星期五

【问题描述】  13号又是一个星期五。13号在星期五比在其他日子少吗?为了回答这个问题,请你写一个程序计算每个月的十三号落在周一到周日的次数。 给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数,N为正整数且不大于400。 这里有一些你要知道的:   1、1900年1月1日是星期一。   2、4,6,11和9月有30天。其他月份除了2月

2017-02-05 10:37:44 9842 1

原创 【C++】【USACO1.1.2】贪婪的送礼者

自己写的比较麻烦 将就看一下 #include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int n,y,z;char x[25],p[25];struct data{ char name[25]; int qian,

2017-02-05 10:34:28 793

原创 【C++】【USACO1.1.1】飞碟在这儿

#include<cstdio>#include<iostream>#include<cmath>#include<algorithm>#include<cstring>using namespace std;char ufo[10];char ren[10];int ufo1[10],ren1[10],ufo22=1,ren22=1;int main(){ scanf(

2017-02-05 10:32:40 444

原创 【C++心路历程22】usaco contest 08.2 保护花卉 贪心算法 典型模型

特点 数据规模大 并且每个元素有两个属性(变量) 能互相影响 对题目要求有两方面 分析方法 考虑两个元素 i j ,比较i-j顺序和j-i顺序的差距 求最优解 1)假设只有 2 头奶牛: 按照 1,2 顺序,损坏花朵的数量为: C12 = 2*cow[1].T * cow[2].D; 按照 2,1 顺序,损坏花朵的数量为: C21 = 2*cow[2].T * cow[1].D;

2017-01-22 19:51:25 639

原创 【C++心路历程21】NOIP2003普及组复赛第4题数字游戏

【问题描述】   游戏是这样的:在你面前有一圈整数(一共N个),你要按顺序将其分为M个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。游戏的要求是使你所得的k最大或者最小。例如,对于下面这圈数字(N=4,M=2):            ◆最小值:((2-1) mod 10)×((3+4) mod 10)=1×7=7。   ◆最大值:(-1 mod 10)

2017-01-20 19:49:16 1261

原创 【C++心路历程20】干草塔高

干草塔高 (线性动态规划)【问题描述】   奶牛们发明了一种新的游戏,有 N 个单位高度的长方体干草包,这些干草包底面的长和宽可能不一样。一头奶牛尝试选择了一些干草包制作出高度尽量高一个塔。在这个塔中,上面的包的长度和宽度都要小于下面的包的长度和宽度。帮助奶牛确定塔可实现最大高度。【输入格式】   第1行一个整数N。第2..N+1行,每行包含两个整数,表示干草包底面长或宽。【输出格式】

2017-01-19 16:28:49 500

原创 【C++心路历程19】2016NOIP D2T1 组合数问题

【C++心路历程19】NOIP D2T1 组合数问题这道题在考场上只得了70分。。慢慢算的暴力算法,加了些许优化。直到回到学校,才想起可以与杨辉三角结合。。(这个其实讲过的啊。。) 不熟悉的可以去看一下,我接下来要打一个杨辉三角形的表。百度百科传送门 杨辉三角算法思路是打出杨辉三角形,再计算取模k。 遍历,看每一个点之前已有多少个(i,j)符合,最后直接输出答案。 可能时间复杂度还是挺高的,

2017-01-06 21:25:41 895

原创 【C++心路历程18】NOIP2016的心路历程

虽然没什么好说的。。。但是还是想说一下。结论1 大牛==牛虻     结束看这些大神写的程序,main函数里就5,6行,,(简洁明了)外面函数一大堆 调试函数也是多的要死(井(kan)井(qiu)有(bu)条(dong)),但是我正好相反啊,除了d1t1和d2t1,其他题真的清楚得很,基本空白的说。还是知识面不够吧,,毕竟没学多久,但这次参赛还是给了很多启发。比如做不来题可以玩桌面上的金山

2016-11-22 18:24:33 606

原创 【C++心路历程17】Jam的计数法 人为定序法

#include#include#include#include#includeusing namespace std;int s,w,t,a[30],ok=0,cnt,vis[30];char str[30];void outans(){for(int i=0;iprintf("\n");return;}void run(int i,int

2016-11-18 20:52:31 423

原创 【C++心路历程16】2825划分游戏 真的有意思 槽点多多

游戏是这样的:在你面前有一列整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。游戏的要求是使你所得的k接近而不超过限定的目标整数limit。  例如:含有4个整数序列为:2 -1 3 4,把它们分成2部分,limit=9,则正确的划分方法如下:      ((2-1) mod 10)*((3+4) mod 10

2016-11-12 16:02:14 393

原创 【C++心路历程15】【USACO1.5.2】回文质数 打表在前 方法在其后

#include<cstdio>#include<algorithm>#include<iostream>#include<cmath>#include<cstring>using namespace std;int a,b,c;int num[10000]={1,2,3,5,7,11,101,131,151,181,19...

2016-11-05 14:39:57 926

原创 【C++心路历程14】1177状态数组 查找(比binary好用多了)

#include#include#includeusing namespace std;int a[40050];bool vis[40050];int main(){ int p1,p2,p3,p4,k; scanf("%d%d%d%d%d",&p1,&p2,&p3,&p4,&k); for(int i=0;i  for(int j=0;j   f

2016-10-29 17:41:21 370

空空如也

空空如也

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

TA关注的人

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