• C2第五次作业解题报告


    看过题解后如果觉得还算有用,请帮忙加点我所在团队博客访问量

    http://www.cnblogs.com/newbe/

    http://www.cnblogs.com/newbe/p/4069834.html

    http://www.cnblogs.com/newbe/p/4072005.html

    求赞求祝福啊!!!

    http://www.cnblogs.com/newbe/p/4058097.html

    软工老师太狠心,还请可怜一下同课不同命的我们吧~点一下文章末尾的推荐什么的呗,有个回复什么的就更好了!

    1、序列的第n项

    显然暴力会超时,这是一道类似贪心构造的题解

    每次计算当前数字的k倍的各位数的和,模仿竖式乘法即可(但是不产生新数组,可能越界也没必要)

    然后计算两种差值,如果为正的话,那么可以直接搞,从后向前每一位尽量贪心补成最大值,直到把差值补全,注意一些小细节

    如果为负的话,还是贪心的构造,我们从个位起开始累加数位和,直至该值大于pre_sum(之前数位和)-sum(*k后的数位和),大于该值后,向数组的下一位进1,若进1之前下一位就已经为9,则继续不停向前进位,(注意过程中每个经过的数位都应该将其清0),那么该数中需要变化的最高位确定后,就可以类似差值(此时差值为当前记录的总数位和-1+之前负的差值)大于0时的操作

    然后for循环贪心搞个n-1次即可

    2、放置正方形

    显然暴力会超时,这是一道水题

    由于格子只可能是0或1,那么我们只要开个二维数组存1*1~x*y的矩形的各个点和即可,这时对于每个点,只要确定x,y到x+i,y+i的一个正方形中所有点和是否含有0即可,判断方法就是如果点和大于0的话就无法放置正方形(可以把读入的1和0取异或,即1表示有障碍)

    1*1~x*y的矩形的各个点和很好求,画图即可,x,y到x+i,y+i的一个正方形中所有点和同理

    3、Gray码

    方法都告诉你了,直接模拟即可,真没什么好讲的

    4、矩阵乘法B

    这次的矩阵之间没有了空行,其实还是没啥可说的,先读入一行确定了k,那么m就是总行数-k

    然后就像之前那样搞就好了..

    无聊的题

    5、单词连接

    这题还有有一定的技术含量的,课件上也已经讲过了,

    其实就是并查集+欧拉回路的性质,欧拉回路和欧拉通路的判定可以总结为如下:
    1)所有的点联通
    2)欧拉回路中所有点的入度和出度一样。
    3)欧拉通路中起点的入度 - 出度 = 1,终点的 初度 - 入度 = 1, 其他的所有点入度 = 出度;

    还是不知道怎么写的话可以看hdu上的同类型一道题:hdu 1116

    hdu 1116的题解我就不贴了,大家自行百度

  • 相关阅读:
    进程间通信 之 管道
    单调递增连续最长子序列
    使用EasyUI实现加入和删除功能
    android file.createnewfile ioexception
    60个可爱的云图案设计,激发你的灵感
    关于Platinum库的MediaRender具体C++代码实现探讨
    《程序员的第一年》---------- 学会抛出异常 你的程序人生才幸福
    LA 3027 Corporative Network 并查集记录点到根的距离
    Struts2 学习第一步准备工作
    Android编程心得-图片自适应心得
  • 原文地址:https://www.cnblogs.com/zibaohun/p/4060647.html
Copyright © 2020-2023  润新知