草稿

#include<stdio.h>
#include<string.h>
#define N 100005
int root,val[N],lch[N],rch[N],w[N],size;
void rrot(int &t) {
int x=lch[t]; lch[t]=rch[x]; rch[x]=t;
w[x]=w[t]; w[t]=w[lch[t]]+w[rch[t]]+1;
t=x;
}
void lrot(int &t) {
int x=rch[t]; rch[t]=lch[x]; lch[x]=t;
w[x]=w[t]; w[t]=w[lch[t]]+w[rch[t]]+1;
t=x;
}
void mant(int &t) {
int flag=0;
if(w[lch[lch[t]]]>w[rch[t]]) flag=1, rrot(t);
else if(w[rch[lch[t]]]>w[rch[t]]) flag=1, lrot(lch[t]), rrot(t);
else if(w[rch[rch[t]]]>w[lch[t]]) flag=1, lrot(t);
else if(w[lch[rch[t]]]>w[lch[t]]) flag=1, rrot(rch[t]), lrot(t);
if(flag) mant(lch[t]), mant(rch[t]), mant(t);
}
int select(int k) {
int t=root;
while(k!=w[lch[t]]+1) {
if(k<=w[t]) t=lch[t];
else k-=w[lch[t]]+1, t=rch[t];
}
return val[k];
}
int rank(int v) {
int t=root,ret=1;
while(v!=val[t]) {
if(v<val[t]) t=lch[t];
else ret+=w[lch[t]]+1, t=rch[t];
}
return ret;
}
void insert(int v) {
if(!root) {root=++size; val[size]=v; w[size]=1; return; }
int t=root,*x;
while(w[t]++) {
if(v<val[t]) {
if(lch[t]) t=lch[t];
else {x=&lch[t]; break; }
}
else {
if(rch[t]) t=rch[t];
else {x=&rch[t]; break; }
}
}
*x=++size; val[size]=v; w[size]=1;
mant(root);
}
void erase(int t,int v) {
int pre=0,*x;
while(w[t]--) {
if(v<val[t]) {pre=t; t=lch[t]; continue; }
if(v>val[t]) {pre=t; t=rch[t]; continue; }
x=&t; break;
}
if(!pre) {root=0; return; }
if(!lch[t]&&!rch[t]) {*x=0; return; }
if(!lch[t]) {*x=rch[t]; return; }
if(!rch[t]) {*x=lch[t]; return; }

}
void dfs(int u) {
printf("%d ",val[u]);
putchar('(');
if(lch[u]) dfs(lch[u]);
if(rch[u]) dfs(rch[u]);
putchar(')');
}
int main() {
insert(5);
insert(46);
insert(34632);
insert(87);
insert(876);
insert(123);
insert(7856);
dfs(root);
puts("");
printf("%d\n",select(3));
}
内容概要:本文探讨了在MATLAB/SimuLink环境中进行三相STATCOM(静态同步补偿器)无功补偿的技术方法及其仿真过程。首先介绍了STATCOM作为无功功率补偿装置的工作原理,即通过调节交流电压的幅值和相位来实现对无功功率的有效管理。接着详细描述了在MATLAB/SimuLink平台下构建三相STATCOM仿真模型的具体步骤,包括创建新模型、添加电源和负载、搭建主电路、加入控制模块以及完成整个电路的连接。然后阐述了如何通过对STATCOM输出电压和电流的精确调控达到无功补偿的目的,并展示了具体的仿真结果分析方法,如读取仿真数据、提取关键参数、绘制无功功率变化曲线等。最后指出,这种技术可以显著提升电力系统的稳定性与电能质量,展望了STATCOM在未来的发展潜力。 适合人群:电气工程专业学生、从事电力系统相关工作的技术人员、希望深入了解无功补偿技术的研究人员。 使用场景及目标:适用于想要掌握MATLAB/SimuLink软件操作技能的人群,特别是那些专注于电力电子领域的从业者;旨在帮助他们学会建立复杂的电力系统仿真模型,以便更好地理解STATCOM的工作机制,进而优化实际项目中的无功补偿方案。 其他说明:文中提供的实例代码可以帮助读者直观地了解如何从零开始构建一个完整的三相STATCOM仿真环境,并通过图形化的方式展示无功补偿的效果,便于进一步的学习与研究。
### 如何在 MySQL 中创建或管理草稿 #### 创建草稿表 为了创建一个用于存储草稿的表,可以定义一张具有特定结构的表来保存未完成的内容。以下是创建草稿表的一个示例: ```sql CREATE TABLE draft_table ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL COMMENT '标题', content TEXT COMMENT '内容', state TINYINT DEFAULT 0 COMMENT '状态:0 草稿;1 已发布', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ); ``` 此表设计中包含了 `state` 字段[^5],用来区分记录的状态(草稿还是已发布)。默认情况下,新插入的记录会被标记为草稿。 --- #### 插入草稿数据 向上述草稿表中插入一条新的草稿记录可以通过以下 SQL 语句实现: ```sql INSERT INTO draft_table (title, content, state) VALUES ('我的文章', '这是文章的内容...', 0); ``` 这里将 `state` 设置为 `0`,表示该条目是一个草稿。 --- #### 查询草稿数据 如果需要查询所有的草稿记录,则可以执行如下查询操作: ```sql SELECT * FROM draft_table WHERE state = 0; ``` 这条命令会返回所有处于草稿状态 (`state=0`) 的记录。 --- #### 更新草稿至已发布 当草稿准备好被正式发布时,可以将其状态更改为已发布的状态(即 `state=1`),例如: ```sql UPDATE draft_table SET state = 1 WHERE id = 1; ``` 这一步骤假设我们正在修改 ID 为 `1` 的那条记录,并将其从草稿转为已发布状态。 --- #### 删除草稿 对于不再需要的草稿,可以直接删除对应的记录: ```sql DELETE FROM draft_table WHERE id = 2 AND state = 0; ``` 这里的条件确保只删除那些尚未发布的草稿记录。 --- #### 使用存储过程清理草稿 通过 Navicat 创建一个存储过程,定期自动清除超过一定天数的草稿记录。下面展示了一个简单的例子[^4]: ```sql DELIMITER $$ CREATE PROCEDURE cleanup_drafts() BEGIN DELETE FROM draft_table WHERE state = 0 AND DATEDIFF(CURDATE(), created_at) > 7; END$$ DELIMITER ; ``` 这个存储过程的作用是从 `draft_table` 表中移除所有超过七天且仍处于草稿状态的记录。 --- #### 配置 Binlog 参数支持 CDC 特性 如果您计划利用 Flink 等工具实时捕获 MySQL 数据库中的变化事件,那么还需要调整 MySQL 的配置文件以启用完整的行日志模式。具体来说,在数据库管理界面下的参数设置部分,应将 `binlog_row_image` 设定为 FULL 值][^[^23]。这样做的目的是为了让变更数据捕捉功能能够正常运作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值