D题为啥不能根据括号对数的奇数偶数情况直接求呢?

如果有偶数对括号(n/2)%2==0,我一定能凑n/4组a,b交替的组合,如果a==b,那么就是max(a,b)和不染色的组合。

奇数也同理。

但按这个思路,只能过40分。DP的思路确实能过,但没有想通为啥这样不能过。

#include<bits/stdc++.h>
using namespace std;
stack<char> s;
int dp[1005];
int n,a,b;
string line;

int main(){
    cin>>n>>a>>b;
    
    int max_num, min_num;
    max_num=max(a,b);
    min_num=min(a,b);
    int ans=0;
    if(a!=b){
      if((n/2)%2==0){
          ans = n/4*(a+b);
       }else{
          ans = ((n/4))*(a+b)+ max_num;
      } 
        
    }else{
        if((n/2)%2==0){
          ans = n/4*(a);
       }else{
          ans = ((n/4))*(a+0)+ max_num;
      } 
        
    }
    
    cout<<ans;
    
    return 0;
}

全部评论
能给一下题目链接吗?
1 回复 分享
发布于 2023-10-13 21:57 四川

相关推荐

如题,这操作。。。。
真烦好烦真烦:既想享受国家的招聘应届生福利,又不想培养新人,我只能说这种企业的ld太过分了
投递美的集团等公司6个岗位 >
点赞 评论 收藏
分享
04-25 18:13
五邑大学 Java
无面如何呢:用心包装一下自己的实习
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务