首页 > 其他分享 >flower in 5.11

flower in 5.11

时间:2023-05-11 21:35:48浏览次数:35  
标签:flower 封装 多项式 代码 全家 5.11 joke3579 精简

在此,我想探讨一下多项式全家桶应该怎么封装、封装成什么程度的问题。

我所认为的多项式全家桶应当是一种全面而又精简、快速而不冗长的一种代码块。最早看到的所谓“多项式全家桶”是 Delov 半年多前的《简单封装 Poly》。非常优雅的马蜂。确实非常优雅的马蜂,相当精简,可读性也极强,小的函数虽多但不用什么解释就能理解大致的含义。所有的多项式模板全部使用传统方式求解,毫无理解困难。然而这样有一个问题,就是效率实在不忍直视,只能是平时能用的程度,但凡稍微卡点常数感觉就会在 T 的边上徘徊的样子。而且这玩意顶多叫半家桶。

joke3579 也经常给我看他的多项式全家桶。他的多项式全家桶大概是比较主流的那种“效率至上”的东西,跑的飞快,功能方面由于他是专门搞多项式的所以自然很全。然而在拜读他的代码之后我得到了结论:这一大车指令集 + 循环展开真的是不想让人写第二遍的东西。他也说在考场上使用的 NTT 是最朴素实现的 NTT。

我一直试图在保证效率的同时解决码风不佳、代码可读性过差的问题,因此也一直尽量精简它的功能。然而随着使用频率的增加,我发现如果只是使用最为朴素的做法的话效率实在难以恭维,因此码量上也越叠越高。现在挑战多项式的代码长度就已经到了 8.1k(虽然卡进 2s 的没一个小于 10k 的),代码也很没有条理,这是我封装多项式全家桶的契机。即使我的代码仍然有很多的可优化之处,但我决定先开始完整地打包起来再进行调整。

这或许也是“实用主义”的偏差。不同的人对于实用的定义是不同的,从“比较好打出来”到“我只要打一遍以后直接搬过来用不再打了”各不相同。这往后还要涉及到生活的一些观念,不过都比较浅显就不说了。然而只从对多项式全家桶的态度并不能看出一个人的全貌,毕竟专门搞多项式的人实在有限。

我们对人的印象也是在言行中积累的。印象可以大体勾勒一个人的框架,但是不能确保“真正了解”。我和 joke3579 待了一年半,我真正了解他吗?很难说。我把关于我的许多事情都跟他透露了一些,那在我看来他确实十分了解我了。但是在他看来他是否了解我呢?也很难说。这样循环下去好像就陷入怀疑主义了。它的直接原因似乎在于人在大多数时候是具有两面性的?一个从不发言的人可能见多识广,一个很抽象的人也可能只是百无聊赖。joke3579 退役以后似乎越来越抽象了,不敢多评价。

那我对和我共处一室的人的印象呢?不知是幸运还是遗憾,我对现在的所有人的评价是“正常”。实际上这一届我不以“正常”评价的可能有四个。可能三个。大概只有一个。也可能一个也没有。这是好事,正常可以解释很多问题。区分近义词:正常和平凡。

也许把大脑放空会更好?这样一想奶头乐也不是不行。

标签:flower,封装,多项式,代码,全家,5.11,joke3579,精简
From: https://www.cnblogs.com/gtm1514/p/17392290.html

相关文章

  • 5.11
    #include<iostream>#include<string>usingnamespacestd;classPerson{public:Personoperator+(Person&p){Personp3;p3.a=this->a+p.a;p3.b=this->b+p.b;returnp3;}inta;intb;};Personoperator+(Person&p1,Person&......
  • 每日总结 5.11
    <!doctypehtml><html><head><metacharset="UTF-8"><scripttype='text/javascript'>if(document.createElement("input").webkitSpeech===undefined){ale......
  • 2023.5.11编程一小时打卡
    一、问题描述:完成“学生cpp成绩计算”之后,修改Person和Student类,各自增加两个无参构造函数。仍以Person类为基础,建立一个派生类Teacher,增加以下成员数据:intID;//教师工号Studentstu[100];//学生数组intcount;//学生数目,最多不超过100floatcpp_average;//班......
  • 5.11 2.6
    一、问题描述一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数,该数仍为五位数。问该车的速度是多少?新的对称数是多少?二、分析司机在上午10点看到里程表......
  • 5.11
    #include<stdio.h>main(){inti,j,s,n;printf("请输入所选范围上限:");scanf("%d",&n);for(i=2;i<=n;i++){s=0;for(j=1;j<i;j++){if(i%j==0)s+=j;}if(s==i)printf("Itisaperfectnumber:%d.\n",i);}}......
  • 5.11总结
    DropTABLEIFEXISTStb_order;DropTABLEIFEXISTStb_goods;--订单表--表实现多对多--实现方式:建立第三方中间表,中间表至少包含两个外键,分别关联两方主键CREATETABLEtb_order(idINTprimarykeyauto_increment,paymentDOUBLE(10,2),payment_typeTINYINT,sta......
  • 2023.5.11——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 建民打卡日记5.11
    一、问题描述 上图是新浪微博上的一则趣闻,是瑞典斯德哥尔摩火车上的一道题,看上去是段伪代码:s=''a='1112031584'for(i=1;i<length(a);i++){if(a[i]%2==a[i-1]%2){s+=max(a[i],a[i-1])}}goto_url('www.multisoft.se/'+s)其中字符串的+操作......
  • flower in 5.3
    上午模拟赛,但是没有打。感觉确实大多数时间都没有好好打模拟赛。正在尝试通过献祭模拟赛的方式获得一些看科技的时间,反正最近五场我只打了两场,好像有一场是点分治没调出来。不过可能在这个时间段进行这种活动确实不好。就凭我省选之后部分分能力极度下降来看,大概营三是个不可避免......
  • flower in 4.30
    有人要求我日更鲜花就来更新了。大概是没人看的吧?彁这个字确实是可以打出来的。我放歌的心路历程大多数时候取决于我当时的精神状态,然后在比较符合的里边找几个应该能放出来的(指带人声的)。比如说比较魔怔的时候就放个脑力)不得不说写这个是有好处的,最起码可以保证语言组织能力不......