- 博客(10)
- 问答 (1)
- 收藏
- 关注
原创 杭电-5560-思维
/*解题思路:因为只有 0 和 1 ,我们可以发现 1 只要过一次就可以了,但是 0 需要过两次,需要过两次肯定就需要边上 的来帮助。1、比如1 0 0,num[0] = 1,走过去就不用管了,当走到num[1]=0;时会把num[1]=1;,我们需要 num[2]=0;的帮助 ,通过 num[2]=0;我们可以把num[1
2015-12-27 19:23:52 248
原创 杭电-5569-动太规划
解题思路:dp[i][j]表示点(i,j)的最小贡献分成三类来计算#include#include#include#define MAX 1e9+5using namespace std;int mp[1005][1005];int dp[1005][1005];int min(int a,int b){ return a>b?b:a
2015-12-26 23:32:54 253
原创 杭电-5567-水题
#include#include#includeusing namespace std;int main(){ int n,c,b; int i,j,sum,k; int a[105]; while (~scanf ("%d%d%d",&n,&b,&c)) {
2015-12-25 15:03:50 219
原创 杭电-5586-最大子序列和
/*解题思路:其实就是求连续最大子序列和就是将x和f(x)进行比较,那个更大,尽量取大的,但是有个区间限制所以就是要求你这整个区间改变后的和比没变的和大,就相当于在原的值上加上一个值,但是这个值是有正负的,这个值可以表示为change[i]=(1890*num[i]+143)%10007-num[i];那么我们就是求change[i]的最大子序列和 sum,和子序列的起始位
2015-12-25 00:50:57 273
原创 杭电-5585-水题
数据量大的吓人,不可能常规做,那就用数组吧#include#include#includeusing namespace std;char num[50];int main(){ int len; int i,k,sum; while (~scanf ("%s",num)) {
2015-12-24 21:20:49 245
原创 杭电-5597
想做本体首先要明白两个概念,互质,和欧拉函数互质:公因数只有 1 的;两个非零自然数欧拉函数:正整数n的欧拉函数就是小于n的与n互质的自然数的个数解题思路:打表会发现f(x)=x+1;出题人真会玩,我已被玩坏 这题告诉我,如果没思路可以打表,或许结果就出来了 之后就是一个欧拉函数的事#include #
2015-12-23 22:50:06 284
原创 素数打表
#include#includeint a[1000000];int prim(int n){ int i,j; for (i=2; i { if (!a[i]) { for (j=i+i; j
2015-12-23 21:55:41 205
原创 杭电-5596
刚开始做的时候并不会,看了大神的,发现自己弱爆了解题思路: 1、明确大王发功给gt加能力值不会影响到gt去消灭它前面的且不同组能力比自己小的gt(不理解的自己写几个 2、明确 1 以后就好做了,首先将大王所有发功结束后的gt能力值计算出来,用一个数字gtn[i]存储 3、举例:0 组消灭 1 组。根据
2015-12-22 22:25:50 253
原创 树状数组-杭电-5592
using namespace std;int num[MAX];int ans[MAX];int n;int lowbit (int a){ return a&(-a);}void update (int x,int date){ while (x<=n) { num[x]+=date; x+=lowbit(x); }}in
2015-12-18 21:11:35 212
空空如也
初学数据结构,请问这个程序问题在哪
2015-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人