avatar
Articles
86
Tags
84
Categories
27
首页
归档
标签
分类
TUM笔记
友情链接
Fyind's Blog
首页
归档
标签
分类
TUM笔记
友情链接

Fyind's Blog

网络安全
Created2020-09-16|网络安全
网络安全 Vmware Workstation 桥接网络配置 image-20200919203643934 打开虚拟网络编辑器,发现没有桥接网络,点设置 image-20200919203722602 让桥接模式解上正确的网卡 image-20200919203838977 然后主机和虚拟机就可以互相ping通了 image-20200919204116816 环境搭建 Kali Linux 镜像下载 https://www.kali.org/downloads/ 安装完虚拟机后,更新一下源 123apt updateapt upgradeapt dist-upgrade 源列表位置 /etc/apt/source.list 设置开机启动软件 12update-rc.d ssh enableupdate-rc.d postgresql enable 重启网络服务 1service networking restart 开启网卡 12ifconfig eth0 upifup eth0 Windows Server 2003 桥接网络的时候,要把自己的网络设...
Javaweb
Created2020-09-16|Java
Javaweb 安装 IDEA, 可以先用 -Ss 搜索intellij 来确定后面的版本号 1sudo pacman -S intellij-idea-ultimate-edition-2020.2.1-1 IDEA 使用技巧 别打开老项目 settings 里面 system settings了里面别勾选 Reopen image-20200906194355077 Ctrl + 鼠标左键可以查看源代码 Alt + Shift + v 新建局部变量 Tomcat 安装 1sudo pacman -S tomcat9 最好要去官网下载, 这样用户有执行权限,pacman 下载的运行要家sudo, 在idea里会报错 启动 可以在zshrc里面加入 12alias tomcat="sudo zsh /usr/share/tomcat9/bin/startup.sh"alias ctomcat="sudo zsh /usr/share/tomcat9/bin/shutdown.sh" 然后可以 sudo tomcat 和 sudo ...
数据结构
Created2020-08-16|算法数据结构
前缀和和差分 https://ac.nowcoder.com/acm/contest/19483 普通前缀和 前缀和数组 对于数组 \(A\) 的前缀和数组 \(s\) 是 \[ s[x]=\sum_{i=0}^{x}A[i] \] 递推公式 \[ s[x]=s[x-1]+A[x] \\ s[0]=0 \] 广义前缀和 把求和看成某种操作的累加。 维护dp矩阵 DP转移用矩阵表示,然后可以用前缀和维护 求 \[ dp(l,r) = dp(1,r)-dp(1,l) \] 设初始列向量为 \(\textbf{v}\), 转移矩阵为 \(mat[i]\) 然后 \[ dp(l,r) = mat[r] \cdot mat[r-1] \cdot mat[r-2]...mat[l+1] \cdot \textbf{v} \] 所以我们维护一个左乘矩阵前缀和 \[ sum[i] = mat[i] \cdot mat[i-1] ... mat[2] \cdot mat[1]\\ sum[i]=mat[i] \cdot sum[i-1] \] 维护好之后计算的时候: \[ dp(l,r) = su...
贪心
Created2020-08-15|算法贪心
P2240 部分背包问题 纯 C++11 风格的代码: 123456789101112131415161718192021#include <bits/stdc++.h>using namespace std;int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; vector<pair<double, pair<int, int> > > coins(n); for (auto &c : coins) { cin >> c.second.first >> c.second.second; c.first = (double)c.second.second/c.second.first; } sort(coins.begin(), coins.end(), greater<...
做题经验与教训
Created2020-08-14|算法
思维CheatSheet 思路 多角度思维 这个题有多少种思路,目前选择一条路。每个思路都要想一点。如果是dp,有多种方程,那每个都要考虑一下。 推导Observation 眼看出来的 基本公式,基于基本公式的Ob 卡住了 你想的题根本不是原问题 中间推导错了 题目读错了 换角度理解问题 转换问题的表示方法。换一种理解方式 常规推导 考虑答案由什么组成(拆分出可以维护的情况) 考虑最简单的几种情况(best case) 考虑状态的转移 什么会产生贡献,哪些会对答案产生贡献 考虑答案的单调性,时空转移 分类讨论 问题可以分为几种情况 贪心 什么构成答案最好(构造一个最好的答案) 计算操作的最大值最小值: 以某种贪心的策略一定可以达到最优,模拟这种策略的步骤 分析最大值 二分/枚举 如给定某个参数,是不是会好做一定 动态规划、递推 考虑问题的子结构 考虑状态是什么,如何转移 换一种更好的状态 简化子结构(去除冗余状态) 通过贪心优化转移,减少转移的数量 用数据结构维护一维度 整理思维 筛选合理的推断和考虑不确定的推断 题目的位置与代码量和思路深度对应...
数学
Created2020-08-14|算法数论
基础知识 求和符号 \[ \sum_{i=1}^{n}=a_1+a_2+a_3+...+a_n \] 求和符号的性质 结合律 \[ \sum_{i=1}^{n} \sum_{j=1}^{n} a_i b_j = \sum_{j=1}^{n} \sum_{i=1}^{n} a_i b_j \] 分配率 \[ \sum_{i=1}^{n} a_i \cdot k = (\sum_{i=1}^{n}a_i) \cdot k= k\sum_{i=1}^{n}a_i \\ \sum_{i=1}^{n}\sum_{j=1}^{n}a_i b_j = \sum_{i=1}^n (a_i\sum_{j=1}^n b_j) = (\sum_{j=1}^{n}b_j)\cdot(\sum_{i=1}^{n}a_i) = (\sum_{i=1}^{n}a_i)\cdot(\sum_{j=1}^{n}b_j) \] 改变枚举对象 令 \(z=x+y\) \[ \sum_{x=0}^a\sum_{y=0}^b f(x,y) = \sum_{z=0}^{a+b}\sum_{y=0}^zf(z-y,y) \...
Trie
Created2020-08-10|算法数据结构
Trie Trie 是一个用树来存储字符串的结构。 基本操作 插入一个字符串 查找一个字符串是否在树中 维护对应字符串的附加信息(如个数之类的) 模板 P2580 于是他错误的点名开始了 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include <bits/stdc++.h>using namespace std;const int maxn = 1e4 + 5;const int maxnode = maxn * 50;const int sigma_size = 26;#define c ((ch)-'a')int child[maxnode][sigma_size], val[maxnode];int sz, n;void insert(string s) { int u = 0; // 从根节点 u = 0 开始插入 for (char ch : s) { i...
AtCoder题解
Created2020-08-10|算法
AtCoder Grand Contest 047 AtCoder Grand Contest 047 A. Integer Product 给定 \(n\) 个浮点数,计算有多少个 \((i, j)\) 使得 \(A_{i} \cdot A_{j}\) 是整数 \(2\leq N \leq 200 \ 000\) , $ 0 < A_{i} ^{4}$ , \(A_{i}\) 最多 \(9\) 为小数. 思路 通过题设条件缩小范围, 枚举 由于数据比较大,不能直接暴力做。判断是整数这个条件不太好集体维护。所以要找出题目中的特性,看看有没有机会让范围缩小。最好是可以 先考虑 \(A_{i} \cdot A_{j}\) 什么情况下是整数。发现,对于任意有限小数 \(x\), 可以在乘上 \(10^{n}\) 后肯定会变成整数。所以每个数必然是 \(k\cdot 2^{m}\cdot 5^{n}\) 的形式, 通过乘 \(10^{n}\) 把分母上的 \(2^{m}\cdot 5^{n}\) 约去. 而之前的 \(k\) 不影响答案。所以我们只要考虑 \(2^{m}\cd...
线段树
Created2020-08-06|算法数据结构
线段树 线段树是一种用来维护区间性质的数据结构,此篇不讲解基础,而是讲解在算法竞赛中的应用。读者需要至少会写线段树懒标记维护区间求和操作。 目前使用的模板 我的懒标记的定义是: 已经维护好了当前节点,但子节点还没维护好. 普通版本 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950const int maxn = 1e5 + 5;int n, m;typedef long long typec;#define lson (o<<1)#define rson (o<<1|1)#define mid ((l+r)>>1)#define len(x,y) ((y)-(x)+1)typec sumv[maxn*4], addv[maxn*4];typec A[maxn], qans, v;int ql, qr;void build(int o, int l, int r) { addv[o] = 0; ...
CodeForces题解
Created2020-07-29|算法题解
Educational Codeforces Round 92 (Rated for Div. 2) link A. LCM Problem 构造 给定区间 \([l,r]\) 求 \(2\) 个在里面的数,使得它们的最小公倍数也在区间内,否则输出-1 -1 . 可以知道 \(l, l*2\) 是2个最小的可能组合,只要判断 \(l*2 > r\) 即可. B. Array Walk 贪心 由于可以折返的步数比较少。我们可以枚举折返的步数。当折返的步数固定为 \(j\) 的时候。有2种情况, \(j\) 步都是折返后又回来。这种情况最远走到了 \([1,k-2j]\) \(j-1\) 步是折返后又回来,最后一步是折返后不回来。这种情况的区间是 \([1,k-2(j-1)-1]\) 可以证明:若折返,则必定是在当前区间的最大两个相邻元素间折返。 那么我们用前缀和的方式求出 \([1,i]\) 的和还有最大相邻元素的位置。那么分情况讨论这两种情况的最大值。最后取个更优的解即可 \(O(n)\) 123456789101112131415161718192021222...
1…567…9
avatar
Fyind
Articles
86
Tags
84
Categories
27
Follow Me
Announcement
欢迎来逛逛我的博客
Recent Posts
Rowhammer攻击2025-09-02
C++高性能编程2025-07-17
操作系统概念2025-07-16
Kubuntu配置2025-07-15
我们在AI时代该如何学习2025-07-12
Categories
  • C++4
  • Hexo1
  • Java2
  • Linux3
  • Python2
  • TUM笔记22
  • Talk1
  • Windows1
Tags
离散数学 Hexo Functional Programming 数论 Windows Rowhammer codeforces 线性规划 LaTeX 逆向工程 配置博客 汇编语言 工具 AtCoder 客制化 Operating System Linux 随笔 竞赛 Linux命令 习题整理 Archlinux Codeforces Maven 模拟 VMware Visual-Studio 人工智能 理论计算机学 QT 数学分析 构造 总结 Haskell 电子信息 Web 枚举 题解 射影几何 计算几何
Archives
  • September 2025 1
  • July 2025 6
  • May 2025 1
  • April 2025 1
  • March 2025 1
  • May 2024 3
  • March 2024 1
  • February 2024 2
Website Info
Article Count :
86
Unique Visitors :
Page Views :
Last Update :
© 2025 By FyindFramework Hexo 7.3.0|Theme Butterfly 5.4.3