AT2371 Placing Squares】的更多相关文章

题解 考虑\(dp\) \[ dp[i]=\sum_{i=0}^{i-1}dp[j]*(i-j)^2 \] 我们可以设\((i-j)\)为\(x\),那么随着\(i\)向右移动一格,每个\(x\)都是会增长\(1\)的. \[ dp[i]=\sum_{i=0}^{i-1}dp[j]*(x+1)^2 \] \[ dp[i]=\sum_{i=0}^{i-1}dp[j]*(x^2+2x+1) \] 为了转移,我们需要将这三段分开维护. 注意,当没有障碍点的时候,转移需要再加上一个\(dp[i]\).…
题目传送门:https://agc013.contest.atcoder.jp/tasks/agc013_e 题目大意: 给定一个长度为\(n\)的木板,木板上有\(m\)个标记点,距离木板左端点的距离分别为\(X_i\),现在你需要在木板上放置一些不相交正方形,正方形需要满足 正方形的边长为整数 正方形底面需要紧贴木板 正方形不能超出木板,正方形要将所有的木板覆盖 标记点的位置不能是两个正方形的交界处 一种合法的正方形放置方案的贡献为所有正方形面积的乘积,也就是为\(\prod\limits_…
题目:https://atcoder.jp/contests/agc013/tasks/agc013_e 边长的平方,可以看做是在该范围内放两个不同的球的方案数.两个球可以重合. 题意变成:给长为 n 的段放若干隔板,最前/后面有隔板,指定位置不能放隔板,相邻隔板间放两个不同球的方案数. dp[ 0/1/2 ] 表示从上一个隔板至今已经放了几个球.把 “能放隔板” 和 “不能放隔板” 写成两个转移矩阵,就能转移了. #include<cstdio> #include<cstring>…
Atcoder 题面传送门 & 洛谷题面传送门 这是一道难度 Cu 的 AGC E,碰到这种思维题我只能说:not for me,thx 然鹅似乎 ycx 把题看错了? 首先这个平方与乘法比较喜闻乐见,很容易与组合联系在一起,于是我们不妨把题目条件翻译成组合的语言: 有一排 \(n\) 个格子,你要在其中插入若干个隔板将其隔成若干段 有 \(m\) 个特殊格子 \(a_1,a_2,\dots,a_m\),\(\forall i\in [1,m]\) 你禁止在 \(a_i\) 与 \(a_{i}+…
\(\mathcal{Description}\)   Link.   给定一个长度为 \(n\) 的木板,木板上有 \(m\) 个标记点,第 \(i\) 个标记点距离木板左端点的距离为 \(x_i\),现在你需要在木板上放置一些不相交正方形,正方形需要满足: 正方形的边长为整数. 正方形底面需要紧贴木板. 正方形不能超出木板,正方形要将所有的木板覆盖. 标记点的位置不能是两个正方形的交界处.   求所有合法放置方案的正方形面积的乘积之和.对 \(10^9+7\) 取模.   \(n\le10^…
AGC013 A - Sorted Arrays 直接分就行 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space putchar(' ') #define enter putchar('\n') #define eps 1e-10 #define MAX…
A#G/C013 A Sorted Arrays 不会/kk B Hamiltonish Path 我是傻逼 如果一条路径不合法,那么把不合法的端点向没出现过的相邻点连过去救星了 C Ants on a Circle 我是傻逼 显然最后的位置可以直接求出,环上相对位置不变. 然后要确定一个位置的答案 假设每个蚂蚁手上有一只鸡,鸡的数字递增相遇就交换手上的鸡,不改变方向 那么蚂蚁1如果向右走,由于相对位置不变每交换一次鸡的数字会增加1 交换鸡的次数就是蚂蚁1碰到其他蚂蚁的次数,可以直接算出来 D…
平方变两次 一个状态 \(S\) 有一个贡献,所有状态 \(S\) 组成集合 \(U\) . 然后我们要统计下面这个东西 \[ans=\sum_{S\in U}f^2(S) \] 然后我们就可以看作是选两个 \(U\) 里的 \(S_1, S_2\),然后 \(S_1=S_2\) 的方案数 . 这样就把一个带平方的贡献问题转化成一个简单的选择了 . 让我们看一个实例: NOI2009 管道取珠 两个字符串 \(S,T\) . 整一个仅含 \(1, 2\) 的序列 \(\{a\}\),用以下步骤生…
Given a set of words (without duplicates), find all word squares you can build from them. A sequence of words forms a valid word square if the kth row and column read the exact same string, where 0 ≤ k < max(numRows, numColumns). For example, the wor…
本文介绍一种利用移动最小二乘法来实现图像变形的方法,该方法由用户指定图像中的控制点,并通过拖拽控制点来驱动图像变形.假设p为原图像中控制点的位置,q为拖拽后控制点的位置,我们利用移动最小二乘法来为原图像上的每个像素点v构建相应的仿射变换lv(x),并通过该变换来计算得到图像变形后的位置: 其中权重wi的表达式为wi = 1/|pi - v|2α. 仿射变换lv(x)由两部分组成lv(x) = xM + T,其中M为线性转换矩阵,T为平移量.事实上将最小化表达式对变量T求偏导后可以得到T的表达式T…