zoukankan      html  css  js  c++  java
  • UVA 11040 Add bricks in the wall(线性组合)

    砖块上的数字最终都可以看作是最后一行的线性组合,独立变元最多9个。

    这类题的一般做法,线性组合都可以列出方程然后高斯消元。

    对于这道题,只要确定最后一行剩下的4个变量就好了,对于最后一行的j位置,它对上面位置某个数字的和贡献次数

    等于它到那个位置路径的方案数,可以发现就是杨辉三角。倒数第二行的数已经足够确定剩下的变量,x到对应位置y的方案是2。

    x = (y - xleft - xright)/2.

    /*********************************************************
    *      --------------Crispr---------------               *
    *   author AbyssalFish                                   *
    **********************************************************/
    #include<bits/stdc++.h>
    using namespace std;
    
    typedef long long ll;
    
    int b[9][9];
    
    //#define LOCAL
    int main()
    {
    #ifdef LOCAL
        freopen("in.txt","r",stdin);
    #endif
        int T, i, j; scanf("%d",&T);
        while(T--){
            for(i = 6; i--;) scanf("%*d");
            for(i = 0; i < 7; i += 2) scanf("%d",b[6]+i);
            for(i = 0; i < 9; i += 2) scanf("%d",b[8]+i);
            for(i = 1; i < 9; i += 2){
                b[8][i] = (b[6][i-1] - b[8][i-1] - b[8][i+1])>>1;
            }
            for(i = 8; i--;){
                for(j = 0; j <= i; j++){
                    b[i][j] = b[i+1][j] + b[i+1][j+1];
                }
            }
            for(i = 0; i < 9; i++){
                for(j = 0; j <= i; j++){
                    printf("%d%c",b[i][j],j==i?'
    ':' ');
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    [USACO13NOV] Pogo-Cow
    《高性能Mysql》讲聚簇索引
    复合索引底层实现
    数据库索引实现(B+,B-,hash)
    B+树,B树,聚集索引,非聚集索引
    MySQL存储引擎
    synchronized实现原理
    【1】线程池的使用
    CompletionService
    原型模式
  • 原文地址:https://www.cnblogs.com/jerryRey/p/4964567.html
Copyright © 2011-2022 走看看