backtracking problems pattern solve
AtCoder Beginner Contest 335 G Discrete Logarithm Problems
洛谷传送门 AtCoder 传送门 考虑若我们对于每个 \(a_i\) 求出来了使得 \(g^{b_i} \equiv a_i \pmod P\) 的 \(b_i\)(其中 \(g\) 为 \(P\) 的原根),那么 \(a_i^k \equiv a_j \pmod P\) 等价于 \(kb_i \ ......
【Leetcode1949. 坚定的友谊】使用MySQL在无向图中寻找{"CompleteTripartite", {1, 1, 3}}这个pattern
题目地址 https://leetcode.cn/problems/strong-friendship/ 思路 就是在无向图中寻找这个pattern: (* Mathematica *) GraphData[{"CompleteTripartite", {1, 1, 3}}] SQL写还是比较麻烦。 ......
CF1006E Military Problem 题解
CF1006E Military Problem 题解 题意 给定一颗有 \(n \thinspace (2 \leq n \leq 2 \times 10^5)\) 个节点的树,树根为 \(1\)。 对于每个节点 \(i \thinspace (2 \leq i \leq n)\) 都有它的父节点 ......
Python实现软件设计模式8:桥接模式 Bridge Pattern
动机 将抽象部分与实现部分分离,使他们都可以独立地变化。用抽象关联取代传统的多层继承。将类之间的静态继承关系转换为动态的对象组合关系。 上图展示的软件系统中存在两个独立地变化维度,分别是抽象类(Abstraction)和实现类(Implementor),它俩都是接口、都分别可以独立地扩展出多个子类。 ......
Python实现软件设计模式7:适配器模式 Adapter Pattern
动机 有两个不存在直接继承或关联关系的类A、B, A希望能利用到B类中某个已存在的、功能完善的方法,而不再去具体实现A的接口源码;适配器模式使接口不兼容的那些类可以一起工作。 主要角色 目标类 Target 抽象接口类 适配者 Adaptee 适配器 Adapter 具体实现接口 客户端 Clien ......
P4137 Rmq Problem / mex
题意 给定一个长度为 \(n\) 的数组。 \(q\) 次询问,每次询问区间 \(mex\)。 Sol 考虑主席树维护区间 \(mex\)。 不难发现可以考虑维护当前所有点的最后出现的下标。 直接套板子即可。 Code #include <iostream> #include <algorithm> ......
gurobipy: Gurobi Optimizer is a mathematical optimization software library for solving mixed-integer linear and quadratic optimization problems
Project description The Gurobi Optimizer is a mathematical optimization software library for solving mixed-integer linear and quadratic optimization p ......
http://www.nfls.com.cn:20035/contest/1878/problem/5
http://www.nfls.com.cn:20035/submission/781868 #include<bits/stdc++.h> using namespace std; int N, ct[45], b[25], ans, a[45][5]; void dfs(int t, int s ......
CF1917D Yet Another Inversions Problem 题解
官方题解。 思路 首先可以把 \(a\) 数组分成 \(n\) 块,每块都是长为 \(k\) 的 \(q\) 数组。于是我们可以把答案拆成两部分计算:块内的贡献和块外的贡献。对于块内,\(p_i\) 都是一样的,因此可以直接消去,计算的实际上就是 \(q\) 序列的逆序对数,把这个值 \(\time ......
《Head First 设计模式》C++实现【策略模式(Strategy Pattern)】
摘要 《Head First 设计模式》书中第2章——策略模式(Strategy Pattern)的C++代码实现。策略模式(Strategy Pattern):定义了算法簇,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 实现代码 //《Head First 设计模 ......
The Biggest Water Problem
地址 #include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { ll n; cin>>n; ll sum=0; while(n>10){ ll sum=n; ll d=0; while(sum){ ......
curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)
curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?) 最近遇到了一个这个问题 发现是因为自己加了一个这个 curl_easy_setopt(pCURL, CURLOPT_SSL_OPTIONS, ......
FreeBSD “su: Sorry” Problem
Solving the FreeBSD “su: Sorry” Problem The solution is to restart FreeBSD in single user mode and then make the change as root. This can be done by f ......
洛谷 P9061 [Ynoi2002] Optimal Ordered Problem Solver
洛谷传送门 QOJ 传送门 考虑操作了若干次,所有点一定分布在一个自左上到右下的阶梯上或者在这个阶梯的右(上)侧。此处借用 H_W_Y 的一张图: 考虑如何计算答案。对于一次询问 \((X, Y)\),如果它在阶梯左下方不用管它,否则考虑容斥,答案即为 \(x \ge X, y \ge Y\) 的点 ......
CF1910I Inverse Problems
题目链接:https://codeforces.com/contest/1910/problem/I 题意 有一个 \(n\) 个字符的字符串 \(S\),你需要不断从中删除一个长度为 \(k\) 的子串,直到串的长度变为 \(n \mathbin{\rm mod} k\),求能够产生的字典序最小的 ......
Codeforces 1909I - Short Permutation Problem
介绍一下 k 老师教我的容斥做法。 考虑固定 \(m\) 对所有 \(k\) 求答案。先考虑 \(k=n-1\) 怎么做。我们将所有元素按照 \(\min(i,m-i)\) 为第一关键字,\(-i\) 为第二关键字从小到大插入,即按照 \(n,n-1,n-2,\cdots,m+1,m,1,m-1,2 ......
D. Mathematical Problem
原题链接 题解链接 code #include<bits/stdc++.h> using namespace std; int main() { int t; cin>>t; while(t--) { int n; cin>>n; if(n==1) { puts("1"); continue; } ......
Problem I Like
\(\LARGE{\frac{\frac{\int_{0}^{+\infty}e^{-s}s^5ds }{2} +\frac{\int_{0}^{+\infty}e^{-\frac{t^2}{2}}dt}{\int_{0}^{+\infty}\sin t^2dt} (\frac{\sum_{n=0} ......
CF1916D Mathematical Problem
思路 很不错的人类智慧题。 拿到以后,完全没有思路,看到数据范围,感觉是什么 \(n^2\log n\) 的逆天做法,但是又完全没思路,看后面的题感觉没希望,就在这道题死磕。 先打了个暴力程序,发现平方数太多,没什么规律,就拿了个 map 统计一下那些出现数字方案拥有的平方数比较多 程序如下: #i ......
D. Yet Another Inversions Problem
D. Yet Another Inversions Problem You are given a permutation $p_0, p_1, \ldots, p_{n-1}$ of odd integers from $1$ to $2n-1$ and a permutation $q_0, q ......
CF1909F1 Small Permutation Problem (Easy Version)
给定一个长度为 \(n\) 的数组 \(a\),其中 \(a_i \in [1, n]\),试计算满足以下条件的 \([1, n]\) 的排列 \(p\) 的个数: \(\forall i \in [1, n], \sum_{1 \le j \le i} [p_j \le i] = a_i\) \( ......
CF1909F2 Small Permutation Problem (Hard Version)
给定一个长度为 \(n\) 的数组 \(a\),其中 \(a_i \in [-1, n]\),试计算满足以下条件的 \([1, n]\) 的排列 \(p\) 的个数: \(\forall i \in [1, n], \text{有 }\sum_{1 \le j \le i} [p_j \le i] ......
【模版】高精度减法 (A - B problem)
直接看代码和注释吧qwq高精度就是模拟嘛ww 还是python好,自带高精度 #include<bits/stdc++.h> #define MAXN 10500 using namespace std; string a, b; //选择字符串。因为字符串储存了每个串的长度,可以直接调用。 int ......
【模版】高精度乘法 (A*B problem)
和A+B problem类似 ,不多说,直接看代码和注释就好啦!ww 感觉这东西只要有个概念就行了...就是在练模拟?www其他语言似乎有大数加减乘除? 这样的高精度算法时间复杂度O(n2),n是数字位数,如果位数过大还是很慢。可以利用快速傅里叶变换的方式加速高精度乘法。(虽然都是我连傅里叶级数都没 ......
CodeForces 1909F2 Small Permutation Problem (Hard Version)
洛谷传送门 CF 传送门 感觉这个题还是挺不错的。 考虑 F1。考察 \(a_i\) 差分后的意义,发现 \(a_i - a_{i - 1}\) 就是 \((\sum\limits_{j = 1}^{i - 1} [p_j = i]) + p_i \le i\)。 考虑将其转化为棋盘问题。在 \(( ......
策略模式(Strategy Pattern) .Net Core实现
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 意图:定义一系列的算法,把它们 ......
kaggle Open Problems – Single-Cell Perturbations 1st & 2nd place solution summary
Leaderboard: https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/leaderboard 2nd Solution: https://www.kaggle.com/competitions ......
CodeForces 1913E Matrix Problem
洛谷传送门 CF 传送门 考虑费用流,对于每一行建两个点 \(i_0, i_1\),分别代表这一行的所有 \(0, 1\)。同样每一列建两个点 \(j_0, j_1\)。源点分别向 \(i_0, i_1\) 连流量为这一行要求的 \(0\) 或 \(1\) 的个数,费用为 \(0\)。同理连汇点。 ......
Python实现软件设计模式6:单例模式 Singleton Pattern
动机 针对某个类,为了保证系统中只创建一个示例,并且易于被访问(例如操作系统的任务管理器,软件的登陆注册界面) 自行创建这个实例,无法从外部创建这个实例,向系统提供这个实例 饿汉式单例 Java版本 在类加载的时候,就创建对象,如果后续得不到使用,可能会造成内存资源浪费 懒汉式单例 Java版本 只 ......