zoukankan      html  css  js  c++  java
  • 部分和问题

    妈的能学会是一会,等会一定要思考一下怎么增加和解决这个方面的问题。

    一,问题描述,

    给定整数a1,a2,a3,a4,判断是否可以从中挑选出若干数,使它们的和恰好为k;

    二,分析

    1,作为一个最简单的选数类型题目。还是挺能看出来你垃圾的。我一定要费曼。

    2,dfs里面还是挺体现挺多东西的。

    3,我先把状态再细分一下,sum是总和,depth算是深度其实也就是选到第几个数。

    不行你这样算啥状态呢?一点都不严谨!应该是sum是当前总和,depth是当前选到第几个数。

    比如你从dfs(0,0)开始就是当前总和为0,当前选到第0个数。

    4.明白道理,自己独立写一遍,再来费曼是一个道理的东西。

    (对了话要拷贝一个)

    5,额你这错的挺离谱的,不过错的话应该是对状态的理解上错了。

    这个课本让我有点疑惑。。。

    也不怪人家,人家估计都是从0开始的

    所以要注意了。

    6,代码

     1 #include<iostream>
     2 using namespace std;
     3 int n,k,a[10005];
     4 int dfs(int sum,int depth)
     5 {
     6     if(depth==n) return sum==k;
     7     
     8     if(dfs(sum,depth+1)) return true;
     9     if(dfs(sum+a[depth],depth+1)) return true;
    10     
    11     return false;
    12 }
    13 int main(){
    14     cin>>n>>k;
    15     for(int i=0;i<n;i++)
    16         cin>>a[i];
    17      if(dfs(0,0)) cout<<"Yes"<<endl;
    18      else cout<<"No"<<endl; 
    19     
    20 }

    7,mark

    8,费曼。要给别人讲懂才算。

    这费曼也不是简单的费曼啊

  • 相关阅读:
    实现两个窗口通信方法-postMessage
    Java中的参数传值方式
    数据库连接池(connection pool)
    批量处理JDBC语句提高处理速度
    数据库事务,隔离级别
    BeanUtils介绍及使用
    JDBC获得数据库连接及使用
    jquery radio 行选中 操作
    EXTJS4.0 grid 可编辑模式 配置
    sql server 中使用 LIKE 语句 SqlParameter 使用
  • 原文地址:https://www.cnblogs.com/beiyueya/p/12121476.html
Copyright © 2011-2022 走看看