uva 10036 Problem C: Divisibility】的更多相关文章

链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88171#problem/F 代码: #include <cstdio> #include <cstring> #include <algorithm> #define maxn 20000 using namespace std; int t; int n,k; int a[maxn]; bool flag; ]; int main() { scanf…
题意:能否在一个整数序列的每相邻的两项之间添加一个加减号,使得最终结果能被一个给定整数K<=100整除. dp[i][j]表示第i个数取余k为j的布尔值. #include <cstdio> #include <cstring> #include <algorithm> #define maxn 20000 using namespace std; int t; int n,k; int a[maxn]; bool flag; ]; int main() { sc…
Consider an arbitrary sequence of integers. One can place + or - operators between integers in the sequence, thus deriving different arithmetical expressions that evaluate to different values. Let us, for example, take the sequence: 17, 5, -21, 15. T…
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=975 最小生成树. #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #define maxn 1000 using namespace std;…
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=973 #include <cstdio> #include <cstring> #include <algorithm> #define ll long long using namespace std; ]; int n; ll dp[]; int mai…
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=970 通过对每一个字符串,每一个位置进行枚举三个操作,然后二分查找操作后的字符串是否存在,dp记录. #include <cstdio> #include <cstring> #include <algorithm> #define N 25000 usin…
10036 - Divisibility 额..直接复制不过来,只好叙述一下了...t组样例,n个数(1-10000),k(2-100)是要取余的数,然后给出n个数第一个数前不能加正负号,其他的数前面可以加正负号,然后问这些正负号任意加,所有的情况中是否有能对k取余得0的情况.若有输出:Di...否则Not... 感觉好水的dp,可是就是学不会呀.... 好烦恼. #include <stdio.h> #include <string.h> #include <stdlib.…
紫皮书题: 题意:让你设计照明系统,给你n种灯泡,每种灯泡有所需电压,电源,每个灯泡的费用,以及每个灯泡所需的数量.每种灯泡所需的电源都是不同的,其中电压大的灯泡可以替换电压小的灯泡,要求求出最小费用 题解:每种电压灯泡要么全换,要么全不换,因为只换部分还要加额外的电源费用,并且换了部分之后费用更少,不如全换 先把灯泡按照电压从小到大排序,这样进行dp时,后面的电压大的如果比电压小的更优的话就可以替换了 设dp[j]为前j个最优了,则dp[i] = min{dp[i],dp[j] + (s[i]…
题意:给你一个序列,长度不超过52,每个元素不超过13.让你重新对这个序列排序,sum(i)表示i的前缀和,使得排序过后,对每个i,都有sum(i)%i==0. 深搜,加两个优化:①倒着从后向前搜:②枚举的时候不要枚举52个,而枚举值域(只有13),能快一点. 另外,一开始想的是相同的元素在最后一定都相邻,但是事实上试了试之后发现不行. #include<cstdio> #include<cstdlib> using namespace std; int path[60],a[60…
题目:如图所看到的的蜂巢型的图中.蜜蜂想从A点飞到B点,假设A与B不在同一个正六边形中, 则它先飞到A的中心.每次飞到相邻格子的中心,最后飞到B的中心,再飞到B点: 假设在一个格子中.直接飞过去就可以(观察第二组数据). 分析:计算几何. 设格子边长为a. 首先观察,全部格子的中心为(3xa/2,sqrt(3)ya/2),当中x.y为整数且奇偶性同样: 因此.依据给定点的坐标,能够求出A,B所在的格子的行列编号(处理奇偶性不同情况). (因为,是取整计算,所以要要推断周围六个格子.是不是比自己更…