0%

杭电多校第二场

1001

题意是给定一个整数边长的立方体,以其边上的整数点为顶点,有多少个等边三角形,要求三条边在三个坐标平面上。
容易得到,一个单位长度边长的立方体中有8个三角形,只有数共有多少立方体,显然为$\sum^{n-1}_{i=1}i^3$个

阅读全文 »

cf4

近日补题

19ecA:city

这题是今年蓝桥省赛的一个加强版,求一个组合数即可。
令e1,e2,o1,o2分别为横竖的奇数对和偶数对数(因为两个奇数或两个偶数才能让中点是格点,即两数之和为偶数),结果如代码所示。

阅读全文 »

网络流概述

来源
图论重要部分

网络

网络(Flow Network)不同于网络流(Flow)。
网络:一个有向图$G=(V,E)$,每条边$(u,v)$都有一个权值c,称为容量(capacity),若边不在E中,容量即为0.
有两个特殊点:源点(Source)汇点(Sink)

阅读全文 »

最大流及dinic算法

Ford-Fulkerson 增广路算法

通过寻找增广路来更新最大流,有EK,Dinic,SAP,ISAP等算法。

阅读全文 »

Sticker Album

期望DP裸题,选取(现有卡数,还需抽卡期望)为状态。
期望DP最重要的方程是,从结果向前推,利用全概率公式:
$E=\sum_i p_i*(E_i+cost_i)$
在此问题中,已知后一步期望,则+1为转移过去的cost,乘p即可。

阅读全文 »

MVC模式

即:Model-View-Controller模式,用于分层开发。

  • Model:一个存取数据的对象或POJO,可以有逻辑,在数据变化时更新控制器
  • View:数据可视化
  • Controller:作用于Model和View,控制数据流向Model,在数据变化时更新View。
阅读全文 »

设计模式六原则

单一原则

一个类,一个方法只负责一个功能。

LSP替换原理

子类拓展父类而不改变父类功能。
即利用多态,以父类为参数,传递子类实现不同的业务逻辑。

依赖倒置原则

面向接口编程,即使用接口传递信息,使用具体类实现逻辑。
即实现依赖于抽象,而抽象不能依赖于实现。

接口隔离原则

  • 不依赖非必须的接口
  • 接口尽量细分

但是细分接口会导致开发难度提升。

迪米特原则

一个对象对其他对象不应了解过多。

开闭原则

用抽象构建架构,用实现扩展“原则”。

即“对扩展开放,对修改关闭”。

比如要打折,不是去改价格,而是使用打折方法处理。

动态规划

参考

阶段

阶段是指,在问题解决过程中,同一时刻可能出现的不同状态的集合。

阅读全文 »