开学第一周周报

news/发布时间2024/5/17 3:59:36

这个星期是开学的第一周,进行了天梯赛的选拔,两场比赛打的都不好。赛后反思了一下,感觉自己有点陷入算法的框架中了。现在无论做什么题第一时间就想往算法方面去思考,dp,树状数组,搜索。但是赛后补题的时候发现其实压根就用不到,大多数都是贪心,但不知道怎么的比赛过程中就没有想到去贪心。还是挺难受的,赛后补题的时候真的是追悔莫及,自己为什么老是想用dp去写,明明自己根本就不熟悉dp的写法。赛后反思了很久,感觉自己还没有寒假前水平高,才发现自己一直陷入了算法的框架里,题目大多数用到的算法并不多,好多都是思维题,真的要改变自己做题的方式。
这一周就是正常的训练补了习题,又自己找了一些cf上面的题。

这道题做的时候就在化简那个式子,但是很惨的是化简画歪了(a&b)⊕(a∣b)=ab,我是真没有想到能这样化简,化成abcd...,用前缀和,再加上abcc=ab,不知道有这个转化方法,想了很久都没做出来。。。赛后补题知道化简后是a^b后很快就写出来了

include <bits.stdc++.h>

define int long long

using namespace std;
int s[200005];
signed main()
{
int n;
cin>>n;
cin>>s[1];
for(int i=2;i<=n;i++)
cin>>s[i],s[i]=s[i]^s[i-1];
int m;
cin>>m;
while(m--){
int l,r;
cin>>l>>r;
cout<<(s[r]^s[l-1])<<'\n';
}
return 0;
}
20行代码啊!!!!我居然化简了很久都没有化成

这道题感觉真的是巧妙,用一个二维数组去存储奇偶性和各位数之和,然后用ans存储,遍历两次一次是左半部分大于右半部分,一次是右半部分大于左半部分。

include <bits/stdc++.h>

define int long long

using namespace std;
int n;
int sum[200005];
int num[2000][3];
string s[200005];
int get(int x){
int ans=0;
while(x!=0){
ans+=x%10;
x/=10;
}
return ans;
}
signed main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>s[i];
for(int i=1;i<=n;i++){
sum[i]=get(stoi(s[i]));
num[sum[i]][s[i].size()%2]++;
}
int ans=0;
for(int i=1;i<=n;i++){
int l=0;
for(int j=0;j<s[i].size();j++){
l+=s[i][j]-'0';
int r=sum[i]-l;
if(l>r){
ans+=num[l-r][s[i].size()%2];
}
}
}
for(int i=1;i<=n;i++){
int l=0;
for(int j=0;j<s[i].size();j++){
l+=s[i][j]-'0';
int r=sum[i]-l;
if(l<r){
ans+=num[r-l][s[i].size()%2];
}
}
}
cout<<ans;
return 0;
}

这道题虽然是个简单题但是读题读了很久才弄懂,题目搞懂后还是很简单的。就是用一个变量记录路径长度然后 int num=(15-m)*2+1;,用路径长度去除这个num就行,其实就是判断红石源能照耀多少范围。

include

include "vector"

include

include "cmath"

include "algorithm"

define int long long

using namespace std;
int s[10005][3];
signed main()
{
int n,m;
cin>>n>>m;
int ans=1;
for(int i=1;i<=n;i++){
cin>>s[i][1]>>s[i][2];
}
for(int i=2;i<=n;i++){
ans+=abs(s[i][1]-s[i-1][1])+abs(s[i][2]-s[i-1][2]);
}
if(m0){
cout<<"0";
return 0;
}
int num=(15-m)*2+1;
if(ans%num
0){
cout<<ans/num;
}
else
cout<<ans/num+1;
return 0;
}
奶茶袋收集和金字塔一个是贪心,一个是纯模拟。
补的时候比较轻松,居然在比赛中没有做出来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/57278536.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

外部网络通过ssh连接WSL2

外部网络通过ssh连接WSL2 需要配置wsl2网络模式为镜像模式,并打开防火墙。最终可以实现通过局域网访问WSL2容器,同时当宿主机可以访问ipv6时,容器也自动支持。修改wsl位置文件.wslconfig​​,主要有以下两点关键步骤设置网络模式为镜像模式networkingMode=mirrored​​ 打开…

第03章_基本的SELECT语句

第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com1. SQL概述 1.1 SQL背景知识1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾…

软件工程第一次作业

目录评估当前的自己展望未来思维导图和学习路线代码仓库 作业基本信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024-dualdegree这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024-dualdegree/homework/1…

apache2.4在windows server2012上出现内存溢出解决方法

今天把服务器迁移到windows server2012发现出现web请求不稳定,内存飙升,经常发生卡顿现象,找了很多原因,最后找到了关键因素。 在apache的配置文件httd.conf下注释掉:EnableMMAP off EnableSendfile OffAcceptFilter http none AcceptFilter https none这样就搞定了! 现…

代码随想录算法训练营day18 | leetcode 513. 找树左下角的值、112(113). 路径总和(I、II)、105(106). 构造二叉树

目录题目链接:513. 找树左下角的值-中等题目链接:112. 路径总和-简单题目链接:113. 路径总和 II-中等题目链接:105. 从前序与中序遍历序列构造二叉树-中等题目链接:106. 从中序与后序遍历序列构造二叉树-中等 题目链接:513. 找树左下角的值-中等 题目描述: 给定一个二叉…

Jetbrains goland特性介绍

CLion 适用于 C 和 C++ 的跨平台 IDE CLion 消除了 C++ 中的大量工作,让我能够专注于有趣的部分:解决问题。 CLion 的新功能 CLion 2023.3采用 JetBrains AI Assistant,该助手现已超越技术预览阶段,带来更多上下文和项目感知操作,使您的日常 C++ 开发工作流程受益。新版本…