![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
prometheus_97
这个作者很懒,什么都没留下…
展开
-
zoj 3872(dp)
题意:我们定义数列的美为该数列的所有不相同的元素的总和,下面给你一个数列,让你求它所有子数列的美的总和。思路:当新增加一个数,它会和前面所有数都组成一个子数列,如1 2 3当加入第四个元素4时,就会有新增4个子数列 “4”,”3,4”,”2,3,4”,”1,2,3,4”,设它们为S1,当1 2 3 4 加入第五个元素5时,则会新增”5”,”4,5”,”3,4,5”,”2,3,4,5”,”1,2,3,原创 2017-09-25 16:50:41 · 215 阅读 · 0 评论 -
zoj 3870
题意:给你一个数列,选出其中两个数A,B,求满足A^B>max(A,B)的个数。思路:假设A>B,”A^B>A”的条件是在A的二进制位为从左往右数ai为0的位置bi为1,如A=1111011011,则满足条件的B为00001XXXXX或00000001XX。#include <iostream>#include <stdio.h>#include <string.h>using namespa原创 2017-09-25 17:14:11 · 184 阅读 · 0 评论 -
hdu 1069(dp)
题意 :给你n种方块, 每种方块有n种,你可以任意摆放,如果方块A的长和宽都小于方块B的长和宽,则方块A可以叠在方块B上,求你所能叠起来的最大高度。题解 :一开始认为是贪心,后面发现貌似不可以。这道题是dp,状态转移方程 :dp[i]=max(dp[i],dp[j]+block[i].h)#include <iostream>#include <stdio.h>#include <string.原创 2017-09-27 21:23:37 · 164 阅读 · 0 评论 -
牛客网 Wannafly挑战赛12 C(dp)
https://www.nowcoder.com/acm/contest/79/C比赛的时候没想到,看了别人的题解才做出来。#include<iostream>#include<string>#include<string.h>#include<stdio.h>using namespace std;int dpa[15],dpb[15];//dpa(b)[i]分别表示以a(b)结尾,i原创 2018-03-26 16:53:13 · 190 阅读 · 0 评论 -
埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 L(dp)
https://www.nowcoder.com/acm/contest/91/L#include<iostream>#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;const int maxk=1e7+5;int dp[2][maxk];int num[maxn];int main(){ int原创 2018-04-16 19:11:58 · 217 阅读 · 0 评论 -
codeforces 600C(贪心)
http://codeforces.com/problemset/problem/600/C题意:给你一个字符串,你可以改变它的任意字符,且可以任意调换字符顺序,输出字符改变次数最少的字典序序最小的字符串。(改变顺序次数不计)。思路:记录所有字符出现的次数,从小到大,当出现次数为奇数时,找到最右边一个出现次数为奇数的字符,左边字符数+1,右边字符数-1。处理到最后一定会是最多只存在一个出现...原创 2018-07-25 09:45:24 · 273 阅读 · 0 评论