机场
蛋挞云https://eggtart.cloud/zh/#/auth/signup;referral=tQ0HbYqEEchohttps://echonetwork.club/好鸭https://my.niceduck.io/register?code=PiizqF6e鱼云https://cloudfisher.net/web/#/login?code=SFb5ls4P阿拉丁https://www.avatargpt.xyz/register?aff=uPNZ94y3SeCOOhttps://web.coo.homes/
Compute’s Wallpaper
题目时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 1048576K,其他语言2097152K64bit IO Format: %lld
题目描述Compute 买了台新电脑,他的初始壁纸是自带的风景壁纸,但他更喜欢小姐姐。
现在 CSL 连续 n 天每天给 Compute 一张小姐姐照片,第 i 张的小姐姐对 Compute 有ai的吸引力。Compute 可以选择在这天换上 CSL 当天发给他的壁纸,并至少连续使用ai天。
但我们都知道,每张壁纸的吸引力都会日益衰减,具体来说,当前壁纸每天对他的吸引力都会衰减 1。当衰减到 0 之后,Compute 就有可能换掉它,或者也有可能在之后的某天才换掉它,甚至不换一直用下去。
比如说,在第 1 天,CSL 发了一张吸引力为 2 的小姐姐壁纸给他并且他使用了这张壁纸;那么第 2 天,这张壁纸的吸引力就会减为 1 ,他肯定不会更换壁纸;但到了第 3 天,这张壁纸的吸引力减为 0,他可以选择更换为另一个壁纸或继续使用原来那张壁纸。
Compute 想知道,这 n 天他的桌面壁纸至少出现过两张不同的小姐姐的方案有 ...
Energizer Knight
题目时间限制: 1 Sec 内存限制: 128 MB
题目描述As previously discussed in the ab Knight problem, a knight is the only piece that can “jump” over pieces. Namely, a typical knight can move 1 square up, down, left or right, followed by 2 squares in a perpendicular direction. Thus, if a knight is at square (x, y), after its jump it can end up at one of these eight positions: (x ± 1, y ± 2), (x ± 2, y ± 1), provided that they are in bounds and there isn’t a piece on the destination square.
An Energizer Knight can ma ...
Doing Homework again(HDU1789)
题目传送门
题解贪心、DP两种思路。
贪心为了减少扣分,尽可能地按时完成扣分多的作业,按照这个思路自定义排序规则。按照扣分从多到少排序,然后每个作业的最后期限开始向第一天遍历占据时间完成作业,占据不到时间的即为无法完成。
DP按照DP思路来考虑的话类似是一个01背包问题,把每个作业看作一件物品的话,物品的重量就是1,价值即为扣分,求解背包的最大容量,所有作业的扣分总和减去背包的最大容量即为解。按照作业完成最后期限从早到晚排序,避免晚完成的作业的状态无法向早完成的作业进行状态转移,状态转移公式为f[j] = max(f[j], f[j - 1] + h[i].score),h[i].score为排序后第i份作业的扣分。
代码DP123456789101112131415161718192021222324252627282930313233343536#include <bits/stdc++.h>using namespace std;const int N = 1009;int T, n;struct Homework { int ddl, sc ...
关押罪犯(洛谷 P1525)
题目传送门
题解后面补
代码1234567891011121314151617181920212223242526272829303132333435363738#include <bits/stdc++.h>using namespace std;typedef long long LL;const int N = 20009;const int M = 100009;int n, m;struct Edge { int s, t, d; bool operator < (const Edge &a) const { return d > a.d; }}e[M];int f[2*N];int find(int x) { return f[x] == x ? f[x] : f[x] = find(f[x]);}int main() { scanf("%d%d", &n, &m); for (int i ...
中间件
一、缓存为什么要使用缓存(一)性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应。
sequenceDiagram
participant A as 用户
participant B as 系统A
participant C as 执行SQL
A->>B:发起请求
B->>C:调用sql
C->>B:返回sql运算结果
B->>A:返回系统运行结果
Note right of C:我非常耗时,并且执行结果接下来几个小时都不会改变
(二)并发如下图所示,在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问数据库。
flowchart LR
A(用户1)
B(用户2)
C(用户3)
D(用户...)
E(用户n)
F[系统A]
G[数据库]
H>"你们同时来这么多请求,我会挂的"]
A--发起请求-->F
B--发起请求-->F
C--发起请求-->F
D--发起请求-->F
E- ...
分布式
一、大型网站系统的特点高并发,大流量需要面对高并发用户,大流量访问。Google日均PV35亿,日IP访问数3亿;腾讯QQ的最大在线用户数1.4亿(2011年数据)。
高可用系统7×24小时不间断服务。
海量数据需要存储、管理海量数据,需要使用大量服务器。Facebook每周上传的照片数量接近10亿,百度收录的网页数目有数百亿,Google有近百万台服务器为全球用户提供服务。
用户分布广泛,网络情况复杂许多大型互联网网站都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别。在国内,还有各个运营商网络互通难的问题。
安全环境恶劣由于互联网的开放性,使得互联网网站更容易受到攻击,大型网站几乎每天都会被黑客攻击。
需求快速变更,发布频繁和传统软件版本发布频率不同,互联网产品为快速适应市场,满足用户需求,其产品发布频率极高。一般大型网站的产品每周都有新版本发布上线,中小型网站的发布更频繁,有时候一天会发布几十次。
渐进式发展几乎所有的大型互联网网站都是从一个小网站开始,渐进的发展起来的。Facebook是扎克伯格同学在哈佛大学的宿舍里开发的;Google的第一台服务器部署在斯坦 ...
字节暑期实习面经
记录暑期实习字节跳动的面试经历
一面一面时间比较长了,有些问题不记得了
自我介绍
list和数组的区别
list的查询、插入、删除的时间复杂度
http的方法
http状态码401、404
c++什么是虚函数
算法:合并两个有序数组
二面
项目经验无
算法:k个有序数组,找到有序数组中第m小的数
http的请求过程
http1.0、1.1、2.0区别
c++什么情况下出现内存泄漏
避免内存泄露的开发原则、设计模式
网络I/O模型
内存池
算法:数组的最大区间和
三面
http协议
http包的拆分
http有哪些方法
get和post的区别
cookie和session
cookie的存放位置
cookie每次http请求都会发送吗
算法1:爬楼梯(每次1,2,3步),一句话(一行代码)完成
算法2:找到链表中环的入口节点(推导这个算法,证明正确性)
数据库索引,b+树,b树,红黑树,为什么用b+树
网络I/O
学习网络I/O模型
阻塞式I/O非阻塞式I/OI/O多路复用信号驱动式I/O异步I/O
C/C++
记录c++一些基础知识和面试常考点
语言基础
C++三大特性:封装、继承、多态
C++可复用性高,引入了模板的概念
struct和class区别
struct一般用于描述一个数据结构集合,class是对一个数据对象的封装
struct中的默认访问控制权限是public,class中默认访问控制权限是private
在继承关系中,struct默认公有继承,class默认私有继承
公有继承:公有继承时,对基类的公有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员访问不了私有成员。派生类的对象只能访问派生类的公有成员
私有继承:基类的公有成员和保护成员都被派生类继承下来变成私有成员,派生类的新增成员可以访问基类的公有成员和保护成员,访问不了积累的私有成员。派生类的对象不能访问基类的任何成员
c++编译过程
预编译
编译
汇编
链接
预编译
删除所有的#define,展开所有的宏定义
处理所有的条件预编译指令,如#if、#ifndef
处理#include预编译指令,将被包含的文件插入到预编译指令的位置
过滤所有的注释
添加行号和文件名标识
编译 ...







