砖块上的数字最终都可以看作是最后一行的线性组合,独立变元最多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[][]; //#define LOCAL
int main()
{
#ifdef LOCAL
freopen("in.txt","r",stdin);
#endif
int T, i, j; scanf("%d",&T);
while(T--){
for(i = ; i--;) scanf("%*d");
for(i = ; i < ; i += ) scanf("%d",b[]+i);
for(i = ; i < ; i += ) scanf("%d",b[]+i);
for(i = ; i < ; i += ){
b[][i] = (b[][i-] - b[][i-] - b[][i+])>>;
}
for(i = ; i--;){
for(j = ; j <= i; j++){
b[i][j] = b[i+][j] + b[i+][j+];
}
}
for(i = ; i < ; i++){
for(j = ; j <= i; j++){
printf("%d%c",b[i][j],j==i?'\n':' ');
}
}
}
return ;
}

UVA 11040 Add bricks in the wall(线性组合)的更多相关文章

  1. UVA 11040 Add bricks in the wall

    https://vjudge.net/problem/UVA-11040 找规律 #include<cstdio> using namespace std; ][]; int main() ...

  2. UVa 11040 Add bricks in the wall (水题递推)

    题意:给定一个金字塔,除了最后一行,每个数都等于支撑它的两个数的和,现在给奇数行的左数奇数位置,求整个金字塔. 析:很容易看出来,从下往上奇数行等于 a[i][j] = (a[i-2][j-1] - ...

  3. UVa 11040 (水题) Add bricks in the wall

    题意: 45块石头如图排列,每块石头上的数等于下面支撑它的两数之和,求其余未表示的数. 分析: 首先来计算最下面一行的数,A71 = A81 + A82 = A91 + 2A92 + A93,变形得到 ...

  4. Codeforces Round #676 (Div. 2) XORwice、Putting Bricks in the Wall、Palindromifier

    题目链接:XORwice 题意:给你两个数a.b.求一个数x,使得((a异或x)+(b异或x))这个值最小,输出最小那个x 题解: 输出(a|b)-(a&b)就行(猜了一手 代码: #incl ...

  5. 【NOIP合并果子】uva 10954 add all【贪心】——yhx

    Yup!! The problem name reects your task; just add a set of numbers. But you may feel yourselvesconde ...

  6. UVA 11076 Add Again 计算对答案的贡献+组合数学

    A pair of numbers has a unique LCM but a single number can be the LCM of more than one possiblepairs ...

  7. UVA 10954 Add All 哈夫曼编码

    题目链接: 题目 Add All Time Limit:3000MS Memory Limit:0KB 问题描述 Yup!! The problem name reflects your task; ...

  8. 【数论-数位统计】UVa 11076 - Add Again

    Add AgainInput: Standard Input Output: Standard Output Summation of sequence of integers is always a ...

  9. UVa 10954 Add All(优先队列)

    题意  求把全部数加起来的最小代价  a+b的代价为(a+b) 越先运算的数  要被加的次数越多  所以每次相加的两个数都应该是剩下序列中最小的数  然后结果要放到序列中  也就是优先队列了 #inc ...

随机推荐

  1. 2018杭电多校第二场1003(DFS,欧拉回路)

    #include<bits/stdc++.h>using namespace std;int n,m;int x,y;int num,cnt;int degree[100007],vis[ ...

  2. Servlet方法之service()

    1.service一定要用吗?作用是什么?是不是在程序开始运行时,自动装载执行的系统方法(类似于main)? Service是类GenericServlet中最重要的方法,每次客户向服务器发出请求时, ...

  3. 浮点数与快速log2

    请先于浮点数的文章:http://blog.jobbole.com/86371/ 先贴一张关于float和double的图: float: double: 快速log2长这样: int flog2(f ...

  4. lj的锁

    lj的锁 Lj花很大力气设计了一个锁,有一天,lj用这个锁把lbn锁在了一个小房间里,准备把lbn啊掉,现在lbn要逃出这个房间,他需要解开这个锁.在平面上有n个钉子,第i个钉子的位置是(x[i],0 ...

  5. hdu 2147 kiki's game(巴什博弈)

    kiki's game HDU - 2147 题意:一个n*m的表格,起始位置为右上角,目标位置为左下角,甲先开始走,走的规则是可以向左,向下或者向左下(对顶的)走一格.谁先走到目标位置谁就胜利.在甲 ...

  6. 洛谷P2202 [USACO13JAN]方块重叠Square Overlap

    P2202 [USACO13JAN]方块重叠Square Overlap 题目描述 Farmer John is planning to build N (2 <= N <= 50,000 ...

  7. RabbitMQ简介和使用

    一.RabbitMQ简介 1.什么是RabbitMQ AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设 ...

  8. OnclickListener

    https://developer.android.com/reference/android/view/View.OnClickListener.html# https://blog.csdn.ne ...

  9. webpack配置Jquery全局包及全局包插件

    一:在配置文件配置: plugins: [ //将来以template为模版,生成一个index.html并且发布到webpack-dev-server开启的node服务器上面去 new HtmlWe ...

  10. Ext3.1的一些使用讨论

    这里简单记录一下曾经的10个月使用Ext的工作模式. 前公司用的是 Ext 3.1,在2018/2019的今天,可以说是比较久远的技术了.处于大前端发展时代的我们,对其的诟病应该不少. 不过其中面向对 ...