当前位置: 首页 > news >正文

edu div2 183个人笔记(目前只补到D,后续可能会更新)

A:

链接: Problem - A - Codeforces

思路:

很简单的取余数,代码略。

B:

链接: Problem - B - Codeforces

思路:

看0、1的操作数有多少个,让左右两边铺满-,然后看中间,中间+的数量如果和2的数量一样,说明都能铺满,中间都变成-,否则把?从从左到右第一个+向右铺,从右到左第一个+向左铺。

AC代码:

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+100;
int n,k;
int cnt0,cnt1,cnt2;
void solve(){cnt0=cnt1=cnt2=0;cin>>n>>k;string s,ans;cin>>s;if(n==k){for(int i=1;i<=n;i++)ans+='-';}else{for(auto c:s){if(c=='0') cnt0++;if(c=='1') cnt1++;if(c=='2') cnt2++;}for(int i=1;i<=n;i++){if(i<=cnt0||i>=n-cnt1+1)ans+='-';else if(i<=cnt0+cnt2||i>=n-cnt1-cnt2+1)ans+='?';elseans+='+';}}cout<<ans<<'\n';
}  int main(){int t;cin>>t;while(t--){solve();}return 0;
}

C:

链接: Problem - C - Codeforces

思路:

AC代码:

#include<bits/stdc++.h>
using namespace std;
int n;
string s;
void solve(){map<int,int>cnt;cin>>n;cin>>s;for(int i=-2*n;i<=2*n;i++)cnt[i]=-1;int x=0,cb=0;for(auto c:s){if(c=='b')cb++;}cnt[0]=0;x=n-2*cb;int ans=n;int sum=0;for(int i=1;i<=n;i++){if(s[i-1]=='b')sum++;        cnt[i-2*sum]=i;        if(cnt[i-2*sum-x]!=-1)ans=min(ans,i-cnt[i-2*sum-x]);}if(ans==n)ans=-1;cout<<ans<<'\n';
}  int main(){int t;cin>>t;while(t--){solve();}return 0;
}

D:

链接: Problem - D - Codeforces

思路:

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=40;
const int M=3000;
int n,r;
int num[N];
ll dp[M][N];void solve(){cin>>n>>r;ll ans=-1;for(int i=0;i<=n;i++)for(int j=0;j<=n*(n-1)/2;j++)dp[j][i]=-1;dp[0][0]=0;for(int i=1;i<n;i++){for(int j=0;j<=n*(n-1)/2;j++){for(int k=0;k<i;k++){int cx=i-k;int cy=n-i;if(dp[j][k]==-1)continue;dp[j+cx*cy][i]=dp[j][k]+(1<<i);}}}for(int i=0;i<n;i++){if(dp[r][i]!=-1){ans=dp[r][i];}}if(ans==-1)cout<<0<<'\n';else{int l=0,r=0;int x=0;for(int i=1;i<n;i++){if((ans>>i)&1){num[i+1]=--l;}elsenum[i+1]=++r;x=min(x,num[i+1]);}for(int i=1;i<=n;i++)cout<<num[i]-x+1<<' ';cout<<'\n';}
}int main(){int t;cin>>t;while(t--){solve();}return 0;
}

http://www.dtcms.com/a/469767.html

相关文章:

  • MDK启动文件堆栈空间手动指定地址方法和验证
  • Leetcode每日一练--27
  • GNSS与单北斗变形监测一体机在基础设施安全中的应用分析
  • 西安网站建设公司排国外网站后台模板
  • 郑州网站顾问热狗网python的网站开发
  • Linux进程第十一讲——进程优先级的本质与Linux实现
  • Java Redis “持久化”面试清单(含超通俗生活案例与深度理解)
  • Linux一切皆文件的意义
  • 网站怎样建立数据库连接做网站公司职员工资
  • 【javascript】js使用技巧笔记
  • 复现嘉立创小项目之直流稳压电源
  • Kubernetes 之海,Go 之舟:避开那些吞噬性能的隐形暗礁
  • 基于独立成分分析(ICA)的图像分离技术实现
  • 网站建站如何做seo有免费的网站服务器吗
  • 使用LangChain创建智能Agent完整指南
  • 江苏省网站备案电话怎样做网站开发
  • Qt:窗口与文件绑定
  • git常用命令大全
  • 算法 - 递归
  • 软考-系统架构设计师 系统架构评估详细讲解
  • Redis 黑马skyout
  • 【Unity】构建超实用的有限状态机管理类
  • redis基础命令和深入理解底层
  • Java中第三方报告库-Allure
  • 高端公司网站建设连云港做网站制作
  • Google 智能体设计模式:优先级排序
  • 网站做不做百度云加速手游代理平台哪个好
  • 【国内电子数据取证厂商龙信科技】邮件如何取证?
  • 手机网站模板 psd做网站建设分哪些类型
  • 做网站需要哪些框架网站没备案可以访问吗