洛谷P1042 乒乓球

本来这么简单的模拟暴力题,不应该出现在博客上的

但由于我不严谨,对于某些细节没有考虑到,第一遍提交只得了一半的分,于是就有了这篇博文

  1. 当正好为一局结束时要记得加上0:0
  2. 特判没有球
  3. 在用break前注意是否与后面冲突
  4. 注意胜负两方差两分
  5. 胜利者并不一定是11分

出现的最严重问题是读题简略,导致错误理解题意

见代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<alg[......]

Read more

二叉堆

二叉堆可以视为一棵符合堆的性质的完全二叉树。

一棵完全二叉树中的所有父节点一定大于(小于)等于它的子节点,就把这棵完全二叉树叫做大根堆(小根堆)

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>

using namespace std;
int const MAX=10010;

int hs,n,m;
int he[......]

Read more

洛谷P1090合并果子

原题https://www.luogu.org/problemnew/show/P1090

题意是给出n堆果子的值ai,每合并一堆果子需要花费ai+aj点体力,求最小的体力值

一道简单的贪心,用队列写会TLE,但可以用优先队列。我用的是二叉堆,还是手写的。

具体解法就是每次挑选最小的两堆合并,则最后为最优值,可以自行证明。

对元素建一个小根堆,每次从堆中取出两个值,合并后再放入堆。

取值,合并的复杂度都是nlogn,总的时间复杂度为n*nlogn。

具体见代码:

#include<iostream>
#include<cstdio>[......]

Read more

2017简单总结

      反正是写给自己看的,除了自己,应该没有人会看到吧.

      2017,沉浸在其中,迷茫,彷徨……,直至如梦初醒

      当我骑着车子走在回家的路上时,才突然发现,2017的最后一个学期结束了.

      2017年结束了?2017年结束了!我无法相信,2017就这样结束了.

      回首我的2017,真的可以用”颓废”二字形容

       

      没有什么大的业绩,像一个孤魂野鬼一样,在级部前十中徘徊;还侥幸拿了一次noip2017普及组一等奖,虽说没有什么用;对于学习,没有以前那么用心了;

       

      至于[……]

      Read more

      OI——初始化

      OI之路,漫长而枯燥

      但我却感兴趣,都说我不同于常人,也许……就因为这个(我是个弱智吧,都说傻子也会快乐)

      今天是2017年10月27日,离初赛已经过了大半个月了,(半个月前,我参加了noip普及组初赛),前些日子,比较懒,没有写博客.今天就一起补上,对前面做个总结吧.

      确切的说,我的OI之路在一年前的现在就已经开始了,只不过,我的OI选手之路才刚刚开始(这是两个不同的概念),我是一个noip蒟蒻,今年已经初二了.在我们这,信竞不是很普及,一共只有2个学校搞信竞,而我所在的学校是比较差的一个.初一的时候,因为期中考试数学得了满分,莫名其妙的被选进了学校的信竞社团,,当时就[……]

      Read more

      数楼梯

      题解:数楼梯
      来源:洛谷
      这道题是一道简单的线性动态规划,可以用斐波那契数列求,但是要用到高精度.
      定义一个数组f[],f[i]为走i阶台阶的方法数量,则f[i]=f[i-1]+f[i-2];用高精度来算加法.(为什么一看到高精就想跳题!!!我太弱)
      其他的,也没什么好说的了
      具体看代码:

      #include<iostream>
      #include<cstdio>
      #include<cstring>
      #include<string>
      #include<algorithm>
      #include<cmath>[......]

      Read more

      欧拉道路和欧拉回路

       

      欧拉通路: 通过图中每条边且只通过一次,并且经过每一顶点的通路

      欧拉回路: 通过图中每条边且只通过一次,并且经过每一顶点的回路

      有向图的基图:忽略有向图所有边的方向,得到的无向图称为该有向图的基图。

      无向图

      设G是连通无向图,则称经过G的每条边一次并且仅一次的路径为欧拉通路;

      如果欧拉通路是回路(起点和终点是同一个顶点),则称此回路是欧拉回路

      具有欧拉回路的无向图G成为欧拉图

      有向图

      (1)设D是有向图,D的基图连通,则称经过D的每条边一次并且仅有一次的有向路径为 有向欧拉通路

      (2)如果有向欧拉通路是有向回路,则称此有[……]

      Read more

      2018.1.6 社团活动总结

      今天社团,颓废了一上午(感觉学弟学妹们也比我认真),

      调出了一道dp,洛谷P1255数楼梯(见题解)

      (一上午只调出一道类似于模板的dp题目,足以看出我有多蒟蒻),

      其中,出现了几个问题,花了很大功夫才解决。

      总结了几条需要注意的事项:

      1.要考虑是否用高精度
      2.注意特殊数值,如0的处理
      3.注意是从0开始还是1开始
      4.注意长度是正好还是多出一位
      5.注意字符串的处理
      6.注意语句先后顺序
      7.dp注意初始值和边界设置
      8.注意初始值(不止dp,所有代码)
      9.注意for循环,while循环,递归等停止条件
      10.注意输出格式,是正序输出还是倒序输出

      总而[……]

      Read more

      Hello,World!

      Hello,World!

      今天博客正式启用了.

      这个博客将伴随着我从初二到学业完结(大约15年左右吧),

      将记录下我学业的点点滴滴(包括学习资料和感受,C++)

      我学的第一个程序是a+b.cpp

      如下:

      1. #include<iostream>
      2. #include<cstdio>
      3. #include<cstring>
      4. #include<string>
      5. #include<algorithm>
      6. #include<cmath>
      7.  
      8. using namesp[……]

      Read more