首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

SRM401div2例题

2012-08-02 
SRM401div2题解DIV2:250:水题,题意是给定两个点的坐标,问连接这俩个点坐标的线段经过了多少整点 解法:gcd(

SRM401div2题解

DIV2:

250:水题,题意是给定两个点的坐标,问连接这俩个点坐标的线段经过了多少整点 解法:gcd(x2-x1, y2-y1)-1

500:dp,题意是给定一个值fieldOrder,求非增序列且第k个数小于fieldOrder-k+1的个数 ?解法:dp[i][j] 表示第i个数大小是j的时候序列的个数 dp[i+1][k] += dp[i][j](k<=j,j<=fieldOrder-i+1)结果就是dp[i][j](j<=i)所有的和

?

#include <iostream>#include <cstdio>#include <cstring>using namespace std;long long dp[40][40];class FIELDDiagrams {    public:        long long countDiagrams(int fieldOrder) {            long long ans = 0;            for (int i = 1; i <= fieldOrder; i++)                dp[1][i] = 1;            for (int i = 1; i <= fieldOrder; i++)                for (int j = 1; j <= fieldOrder-i+1; j++)                    for (int k = 1; k <= j; k++)                        dp[i+1][k] += dp[i][j];            for (int i = 1; i <= fieldOrder; i++)                 for (int j = 1; j <= fieldOrder-i+1; j++)                    ans += dp[i][j];            return ans;        }};

1000:

?

?

?

热点排行