天梯 题解 估值 程序设计

题解 [ARC149B] Two LIS Sum

题解 [ARC149B] Two LIS Sum 大胆猜结论,按照 \(a\) 数组为关键字进行排序,求更改后 \(b\) 的 \(LIS\) 。 证明:每次移动,都有 \(a\) 中增加一个长度, \(b\) 中贡献可能为 \(\{-1,0,1\}\) , 总体贡献为 \(\{0,1,2\}\) ......
题解 149B ARC 149 Two

CF1870D Prefix Purchase 题解

Problem - 1870D - Codeforces Prefix Purchase - 洛谷 先说一个我想的错误的贪心:先用单调栈把原序列构造成单增序列,选出 \(\lfloor \frac{K}{c_i} \rfloor = \lfloor \frac{K}{c_1} \rfloor\) 的 ......
题解 Purchase Prefix 1870D 1870

面向程序设计语言LLVM杂谈

面向程序设计语言LLVM杂谈 如何为特定语言表达式生成 LLVM IR,请搜索接受相应对象的方法。 例如,对于 if-else 语句: IRCodegenVisitor::codegenExprIR Value *IRCodegenVisitor::codegen(const ExprIfElseI ......
程序设计 杂谈 语言 程序 LLVM

《程序员修炼之道:从小工到专家》chap3(十月)

第三节:石头汤和煮青蛙1、三个士兵返乡,路上饿了,路过一个村子,想跟村民借点吃的,但村民粮食贫乏不愿意出借。士兵们没有气馁,他们煮开了一锅水,往里面放了几块石头。村民好奇为他们在干嘛,士兵解释,这叫石头汤,如果能放点胡萝卜的话会更好喝。村民跑回家拿来了胡萝卜,士兵说如果放些土豆会更美味,又有人跑回家 ......
小工 程序员 程序 专家 chap3

读后感:《程序员修炼之道》第四部分 - 注重沟通

第四部分的《程序员修炼之道》强调了在软件开发过程中沟通的关键性。这一部分提供了关于如何有效地与团队、客户和其他利益相关者进行沟通的宝贵建议。以下是我从这一部分中得到的主要启示: 首先,书中明确指出了沟通的重要性。它强调了开发人员不仅仅是在写代码,还需要与其他人进行交流,包括与团队成员、项目经理和客户 ......
读后 读后感 程序员 部分 程序

设计模式-中介者模式

public class 中介者模式 { public static void main(String[] args) { Mediator mediator=new ConcreteMediator(); ColleagueA colleagueA=new ColleagueA(mediator) ......
中介者 模式 设计模式 中介

软件设计实验1:UML与面向对象程序设计原则

实验1:UML与面向对象程序设计原则 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、掌握面向对象程序设计中类与类之间的关系以及对应的UML类图; 2、理解面向对象程序设计原则。 [实验任务一]:UML复习 阅读教材第一章复习UML,回答下述问题: 面向对象程序设计中类与类的关系都有哪 ......
程序设计 对象 原则 程序 软件

软件设计实验2:简单工厂模式

实验2:简单工厂模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解简单工厂模式的动机,掌握该模式的结构; 2、能够利用简单工厂模式解决实际问题。 [实验任务一]:女娲造人 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参 ......
工厂 模式 软件

软件设计实验3:工厂方法模式

实验3:工厂方法模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解工厂方法模式的动机,掌握该模式的结构; 2、能够利用工厂方法模式解决实际问题。 [实验任务一]:加密算法 目前常用的加密算法有DES(Data Encryption Standard)和IDEA(Internat ......
工厂 模式 方法 软件

软件设计实验4:抽象工厂模式

实验4:抽象工厂模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解抽象工厂模式的动机,掌握该模式的结构; 2、能够利用抽象工厂模式解决实际问题。 [实验任务一]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 实验要求: 1. 画出对应的类图; 2. 提交源代码; publ ......
工厂 模式 软件

软件设计实验5:建造者模式

实验5:建造者模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解建造者模式的动机,掌握该模式的结构; 2、能够利用建造者模式解决实际问题。 [实验任务一]:计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算 ......
模式 软件

《程序员修炼之道:从小工到专家》阅读笔记(1)

在老师的推荐之下,我阅读了这本书这本书的作者是Andrew Hunt和David Thomas,他们是两位经验丰富的软件开发者。他们在书中分享了自己的经验和见解,帮助读者成为更好的程序员。这本书的主要内容包括软件开发的基本原则、编程技巧、代码质量、工作流程等方面。 先读完了第一章,题目是注重实效的哲 ......
小工 程序员 笔记 程序 专家

十月份《程序员修炼之道:从小工到专家》

《程序员修炼之道:从小工到专家》读书笔记《程序员修炼之道:从小工到专家》是一本令人着迷的书籍,它不仅探讨了技术方面的问题,还深入研究了如何成为卓越的程序员。以下是我从这本书中汲取的关键观点和学习收获:1. 注重简单性: 书中强调了简单性的价值。作者提出,简单的解决方案通常是最好的解决方案。过度复杂的 ......
小工 程序员 程序 专家

十月份《程序员修炼之道:从小工到专家》(一)

《程序员修炼之道:从小工到专家》读书笔记《程序员修炼之道:从小工到专家》是一本经典的计算机编程领域的书籍,由Andrew Hunt和David Thomas合著,旨在帮助程序员不仅仅成为技术小工,还能够成为真正的专家。这本书强调了编程实践、软件工程原则和职业发展等多个方面的内容,下面是一些关键观点和 ......
小工 程序员 程序 专家

CF1872E Data Structures Fan 题解

CF1872E 翻译 请把数据加强到 \(\sum n \leq 10^8\) 后重新思考。 我们维护全局中被标记的所有点的异或和。发现对于一次 \(1\) 操作,相当于让答案异或上区间的 \(a_i\) 异或和,因为这会让被标记的点变成没被标记的,而没被标记的点会产生贡献。 查询的话直接查询即可 ......
题解 Structures 1872E 1872 Data

设计模式-访问者模式

import java.util.ArrayList; import java.util.List; public class 访问者结构 { public static void main(String[] args) { Visit visit1=new VisitA(); Visit visi ......
模式 设计模式 访问者

P2391 白雪皑皑 题解

一种很新的区间染色 题目传送门 题目大意 有 \(n\) 个数初始都为 \(0\) ,有 \(m\) 次操作,第 \(i\) 次将 \((i \times p + q) \bmod n + 1\) 与 \((i \times q + p) \bmod n + 1\) 之间数都改为 \(i\) ,问 ......
白雪皑皑 题解 白雪 P2391 2391

P4397聪明的燕姿 题解 & Miller~Rabin 质数判定

涉及质数的时间复杂度都是玄学的。 ——题记 传送门 由整数唯一分解定理:\(\coprod\limits_{i=1}^{k}p_i^{c_i}\) 有该正整数的正约数为:\(\coprod\limits_{i=1}^k(\sum\limits_{j=0}^{c_i}p_i^j)\) 即我们要求有多少 ......
质数 题解 Miller P4397 Rabin

《程序员修炼之道:从小工到专家》阅读笔记(4)

第36节 主要讨论了在项目开始之前的一些准备步骤和流程。作者强调了需求识别的重要性,并提出需求是与用户共同完成的“发现”过程,而不仅仅是收集他们的意见。需求在某种程度上应该保持抽象,因为需求不等同于架构或设计。作者还提到了一个词汇表的维护,这是为了消除歧义,并确保大家对需求有共同的理解。此外,项目的 ......
小工 程序员 笔记 程序 专家

《程序员修炼之道:从小工到专家》阅读笔记(3)

26解耦与得墨忒耳法则 将复杂问题分解成简单的模块,以降低整体系统的复杂性。解耦意味着两个或多个模块之间减少直接的依赖关系,遵循“单一职责”原则。这提高了软件的可维护性、可扩展性和长期的稳定性。得墨忒耳法则强调模块间的交互应通过最少的公共接口,以减少变更带来的影响。 27元程序设计: 借助于元数据来 ......
小工 程序员 笔记 程序 专家

CF1707 题解

CF1707 题解 A 考场上 1h 才出思路...弱智了。 我们将参加大于当前智商的行为叫做 “摆烂”。我们考虑如果现在摆一次,将来某一次不摆,那么现在不摆,将来那次开摆,中间过程的智商会加1。更优。所以一定一摆就摆到底。而且一定会摆到最后一个。 所以我们二分从什么时候开摆,看是否能摆到最后,中间 ......
题解 1707 CF

题解:洛谷P3745 期末考试(整数三分)

题解:洛谷P3745 期末考试(整数三分) 题目传送门 题目大意:给出 \(n\) 个同学期望出成绩的时间限制 \(a_i\) 和 \(m\) 个学科公布成绩的初始时间 \(t_i\) ,1个同学每多等一天就产生 A 的不愉快度。问通过一番操作后最小的不愉快度之和是多少? 操作有两种: 1.让学科 ......
题解 整数 P3745 3745

设计模式-策略模式

public class 策略模式 { public static void main(String[] args) { Strategy add=new ConcreteStrategyA(); Strategy sub=new ConcreteStrategyB(); Strategy mult ......
模式 设计模式 策略

《程序员修炼之道——从小工到专家》读后感4

作为程序员我们需要知道,我不可能写出完美的软件,我们需要通过合约进行设计,我们需要的是让程序崩溃,而不是破坏,我们如果它不可能发生,用断言确保他不可能发生,如果发生异常,将异常使用异常的问题;想配平资源,需要有始有终。我们需要学会明确各代码模块的依赖和耦合关系,并降低耦合关系,让它们尽可能独立。源程 ......
小工 读后 读后感 程序员 程序

《程序员修炼之道——从小工到专家》读后感3

计算机是我们踏入编程领域的基本工具,我们需要学会利用纯文本处理信息,但是使用纯文本有两个主要缺点:1、与压缩的二进制格式相比,存储纯文本所需的空间更多。2、要解释及处理纯文本文件,计算机的代价可能更昂贵,我们需要尽可能保证数据保存时间更长,作为一个注重时效的程序员,我们需要学会利用命令Shell的力 ......
小工 读后 读后感 程序员 程序

软件设计-状态模式

public class 状态模式 { public static void main(String[] args) { Context context=new Context(); context.Request(); context.Request(); context.Request(); / ......
状态 模式 软件

uni-app 应对微信小程序最新隐私协议接口要求的处理方法

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一,问题起因 最新在开发小程序的时候,调用微信小程序来获取用户信息的时候经常报错一个问题 fail api scope is not declared in the privacy agreement,api 更具公告,是微信更新对应的隐 ......
接口 隐私 uni-app 程序 方法

设计模式-观察者模式

import java.util.ArrayList; import java.util.List; public class 观察者模式 { public static void main(String[] args) { Subject subjectA = new ConcreteSubjec ......
模式 观察者 设计模式

[题解][ARC167C]一道申必的数数题

这道题目千岩万转,需要用到多次转化,其中有一些转化较为常见,有一些则需要思考。 首先观察原问题:给定数列 \(a\),对于所有 \(1\sim n\) 的排列 \(p\),构建一张只有 \(j-i\le k\) 的 \((i,j)\) 之间有权值为 \(\max\{a_{p_i}, a_{p_j}\ ......
题解 一道 167C ARC 167

题解 ABC326E【Revenge of "The Salary of AtCoder Inc."】

根据期望的线性性,总工资的期望等于在每一个 \(i\) 处获得的工资的期望之和,而在 \(i\) 处获得的工资的期望 \(E(i)=A_i\times p(i)\),其中 \(p(i)\) 表示掷骰子掷到 \(i\) 且有效的概率。 初始 \(p(0)=1\),则只有从 \(0\sim i-1\) ......
题解 quot Revenge AtCoder Salary