Codeforces Round #614 (Div. 2) 解题报告

本文分享了作者在CodeForces平台上的竞赛经历,包括A、B、C题的解题思路与技巧,强调了数学基础的重要性,并详细解析了一道关于点阵更新与查询的题目,提供了C题的代码实现。

最近因为去考驾照了,所以615 Div.3也没参加,驾考挺简单的,可算再也不用见我们那个讨厌的教练了,顺利拿到了驾照。

A题
很简单,纯模拟,我算了下时间复杂度是够得,一开始WA了一次我以为时间复杂度有问题,仔细审查发现没毛病,于是又乱交了两次,连着WA了三次,最后自己找特殊数据测发现边界不对,一次是下边界出,另外一次是上边界,以后测试的时候要考虑到边界情况。

B题
其实这种题本质都是数学题,代码只是实现,盲猜结论过了,要好好学数学啊!

C题
想到BFS和DFS,有考虑到连着询问不该这么复杂,而且我对时间复杂度和空间复杂度的概念还不够清晰,写了半小时的DFS最后超时了,BFS和DFS还不能熟练的快速实现,而且经常会忘记回溯、做标记之类的。还需要重新再学一下。

这道题其实没那么复杂
只要检测输入点 对应的另外一行的 对应点 对应点的前一位 对应点的后一位 构造锁链即可;

想象成每有2个点都为1不能通过则锁链+1,锁链可以左斜 右斜 竖直。

我也不知道这叫什么算法,主要是要建立出这个模型,不断维护,才能满足询问次数可能为1e5的情况。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn = 1e5 + 5;

int a[3][maxn];
 
int main(){
	ios::sync_with_stdio(false);
    cin.tie(0);
	int n,q,x,y;
	ll cnt=0;
	memset(a,0,sizeof(a));
	cin>>n>>q;
	while(q--){
		cin >> x >> y;
		a[x][y] ^= 1;
		if(a[x][y] == 1){
			cnt += a[3-x][y-1] + a[3-x][y] + a[3-x][y+1];
		} else{
			cnt -= a[3-x][y-1] + a[3-x][y] + a[3-x][y+1];
		}
		cout << (cnt == 0 ? "Yes" : "No") << '\n';
	}
    return 0;
} 

codeforces掉分已经成了日常。 TnT

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值