lightoj 1024 (高精度乘单精度)
摘要:题意:给你一些数,求它们的最小公倍数,结果可能会很大。统计出每个素因子出现的最大次数,把他们相乘即可,需要高精度。#include#include#include#includeusing namespace std;const int MAXN = 100010;int ans[MAXN], cn...
阅读全文
posted @
2014-08-09 10:39
wangzhili
阅读(194)
推荐(0)
lightoj 1023
摘要:题意:让你输出前N个大写字母的前K个排列,按字典序,很水,直接dfs。#include#include#include#include#includeusing namespace std;int vis[26], N, K, cnt;void dfs(int dep, string str){ ...
阅读全文
posted @
2014-08-09 10:34
wangzhili
阅读(120)
推荐(0)
lightoj 1022
摘要:直接算即可,特别要注意精度#include#includeint main(){ int t, CASE(0); double r; scanf("%d", &t); while(t--){ scanf("%lf", &r); printf("Ca...
阅读全文
posted @
2014-08-09 10:32
wangzhili
阅读(106)
推荐(0)
codeforces 260 div2 C题
摘要:C题就是个dp,把原数据排序去重之后得到新序列,设dp[i]表示在前i个数中取得最大分数,那么:if(a[i] != a[i-1]+1) dp[i] = cnt[a[i]]*a[i] + dp[i-1];else dp[i] =dp[i] = max(dp[i-1],a[i]*cnt[a[i]...
阅读全文
posted @
2014-08-09 07:59
wangzhili
阅读(159)
推荐(0)
codeforces 260 div2 B题
摘要:打表发现规律,对4取模为0的结果为4,否则为0,因此只需要判断输入的数据是不是被4整出即可,数据最大可能是100000位的整数,判断能否被4整出不能直接去判断,只需要判断最后两位(如果有)或一位能否被4整出即可。#include#include#include#include#include#inc...
阅读全文
posted @
2014-08-09 07:57
wangzhili
阅读(142)
推荐(0)
codedorces 260 div2 A题
摘要:水题,扫描一遍看是否出现价格低质量高的情况。#include#include#include#include#include#includeusing namespace std;struct Node{ int a, b; Node(int a, int b){ this...
阅读全文
posted @
2014-08-09 07:54
wangzhili
阅读(197)
推荐(0)
acdream 1044
摘要:题意:有你一个草坪,草的初始高度都是100,让你用割草机割,割草机只能横着或竖着割,每次割的高度一定,问你能不能割出给定的草坪出来。考虑任意一个草被割要么是横着要么竖着,所以任意一个草必然是它所在行或列里面高度最大(或相等)的,因此如果存在一个草在它所在的行和列里都不是最大的则无法割出给定的草坪。/...
阅读全文
posted @
2014-08-08 22:00
wangzhili
阅读(152)
推荐(0)
acdream 1056 (黑白染色)
摘要:题意:给你一些关系,每个关系是两只马的名字,表示这两个马不能在一个分组里,问你能否将这些马分成两组。黑白染色,相邻的点染不同颜色。bfs搞即可,水题。/** this code is made by wangzhili* Problem: 1056* Verdict: Accepted* Submi...
阅读全文
posted @
2014-08-08 21:49
wangzhili
阅读(178)
推荐(0)
UVALive 5029
摘要:用字典树来查询,关键是怎么处理输入的8个数字代表的字符,把每个数分别除以0.95和1.05得到8的区间,按左区间从小到大排序,那么和第一个区间有交集的必然代表二进制0,与它没交集的之后都是1,因为题目保证输入数据是合法的.#include#include#include#include#includ...
阅读全文
posted @
2014-08-08 17:02
wangzhili
阅读(93)
推荐(0)
lightoj 1021 (数位DP)
摘要:题意:给你一个b进制的数,再给你一个十进制数k,你可以重新排列b进制数的每一位得到其他b进制数,问你这些数中有多少可以整除k?思路:数位dp。#include #include #include #include #include using namespace std;long long int ...
阅读全文
posted @
2014-08-08 11:51
wangzhili
阅读(124)
推荐(0)
codeforces 401D (数位DP)
摘要:思路:很明显的数位dp,设dp[i][j] 表示选取数字的状态为i,模m等于j的数的个数,那么最后的答案就是dp[(1#include#include#include#include#define LL long longusing namespace std;const int MAXN = 18...
阅读全文
posted @
2014-08-07 21:14
wangzhili
阅读(248)
推荐(0)
2014 多校联合训练赛6 Fighting the Landlords
摘要:本场比赛的三个水题之一,题意是两个玩家每人都持有一手牌,问第一个玩家是否有一种出牌方法使得在第一回和对方无牌可出。直接模拟即可,注意一次出完的情况,一开始没主意,wa了一发。#include#include#include#include#includeusing namespace std;cha...
阅读全文
posted @
2014-08-07 17:41
wangzhili
阅读(178)
推荐(0)
lightoj 1224
摘要:很简单的Trie树,记录每个前缀的次数,dfs一次Trie即可#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includ...
阅读全文
posted @
2014-08-07 00:04
wangzhili
阅读(192)
推荐(0)
lightoj 1020 (博弈)
摘要:思路:很简单的博弈,找出每个人先拿的必胜态进行状态转移即可。#include#include#include#include#includeusing namespace std;int main(){ int t, n, CASE(0); char str[10]; scanf...
阅读全文
posted @
2014-08-06 23:59
wangzhili
阅读(138)
推荐(0)
lightoj 1019
摘要:裸的最短路 dijkstra#include#include#include#includeusing namespace std;const int MAXN = 101;const int INF = 0x3f3f3f3f;int dist[MAXN], vis[MAXN], mat[MAXN]...
阅读全文
posted @
2014-08-06 23:59
wangzhili
阅读(114)
推荐(0)
lightoj 1018 (状态压缩DP)
摘要:设dp[s]表示状态s下所需要的线段的个数,s的二进制中第x位为1就表示该状态下第x个点没被线段覆盖。需要预处理出来在任意两点之间连线所覆盖点的状态O(n^3),然后记忆化搜索即可。#include#include#include#include#includeusing namespace std...
阅读全文
posted @
2014-08-06 23:52
wangzhili
阅读(200)
推荐(0)
lightoj 1017
摘要:思路:动态规划,设dp[i][j]表示在前j个dusts中用了i刷子刷掉dusts的个数:状态转移方程就是:dp[i][j] = max(dp[i][j-1], dp[i-1][j-len[j]] + len[j]); len[j]表示刷第j个dust时需要覆盖其前面dusts的个数,可以在O(n...
阅读全文
posted @
2014-08-06 23:48
wangzhili
阅读(117)
推荐(0)
lightoj 1016
摘要:水题,排个序直接搞。#include#include#include#include#includeusing namespace std;const int MAXN = 50010;int y[MAXN];int main(){ int t, x, n, w, CASE(0); sc...
阅读全文
posted @
2014-08-06 23:46
wangzhili
阅读(149)
推荐(0)
lightoj 1015
摘要:水题,统计大于0的和。#includeint main(){ int t, n, tmp; scanf("%d", &t); for(int i = 1;i 0 ? tmp : 0; } printf("Case %d: %d\n", i, sum);...
阅读全文
posted @
2014-08-06 23:44
wangzhili
阅读(168)
推荐(0)
lightoj 1014
摘要:判断到根号n即可,另外使用dfs输出,不需要另开数组再排序。#include#includeint P, L, len, cnt;void dfs(int dep){ if(dep > len) return; if(dep > L){ if(P % dep == 0){ if(...
阅读全文
posted @
2014-08-06 23:39
wangzhili
阅读(121)
推荐(0)
lightoj 1013
摘要:思路:动态规划。设dp[i][j][k]表示用第一个串的前i隔字符和第二个串的前k隔字符组成长度为i的串的个数,那么:若s1[j+1] == s2[k+1] dp[i+1][j+1][k+1] += dp[i][j][k],否则:dp[i+1][j+1][k]+=dp[i][j][k];dp[i+1...
阅读全文
posted @
2014-08-06 23:37
wangzhili
阅读(126)
推荐(0)
lightoj 1012
摘要:水题,dfs#include#include#include#include#includeusing namespace std;const int MAXN = 22;int W, H;char str[MAXN][MAXN], vis[MAXN][MAXN];int dir[4][2] = {...
阅读全文
posted @
2014-08-06 23:32
wangzhili
阅读(131)
推荐(0)
lightoj 1008
摘要:水题,开根号判断大致范围,再找即可。#include#include#includeusing namespace std;int main(){ int t, CASE(0); long long int n; scanf("%d", &t); while(t--){ ...
阅读全文
posted @
2014-08-06 23:30
wangzhili
阅读(109)
推荐(0)
lightoj 1007
摘要:预先处理好phi数组和前缀和,水题。#include#include#include#include#includeusing namespace std;const int MAXN = 5e6+10;unsigned long long int phi[MAXN];void init(){ ...
阅读全文
posted @
2014-08-06 23:26
wangzhili
阅读(107)
推荐(0)
lightoj 1005
摘要:组合数学,ans = C(n,k)*A(n,k).#include#include#include#include#include#define LL long longusing namespace std;LL work(int n, int k){ if(k > n) return 0;...
阅读全文
posted @
2014-08-06 23:24
wangzhili
阅读(141)
推荐(0)
lihgtoj 1006
摘要:记忆化搜索下即可。#include#include#include#include#includeconst int MAXN = 10010;const int MOD = 10000007;using namespace std;long long int dp[MAXN];int a, b, ...
阅读全文
posted @
2014-08-06 23:23
wangzhili
阅读(128)
推荐(0)
lightoj 1010
摘要:题意,在一个n*n的棋盘上放置一些马,使这些马不能互相攻击,问最多能放多少。思路:从第一行每隔一个放置一个马即可,注意n=1和n=2的情况要特判.#includeint main(){ int n, m, t; scanf("%d", &t); for(int i = 1;i 1...
阅读全文
posted @
2014-08-06 23:19
wangzhili
阅读(167)
推荐(0)
lightoj 1004
摘要:很水的一个dp#include#include#include#includeusing namespace std;const int N=100;int a[2*N+5][N+5],dp[2*N+5][N+5];int main(){ int T,n,i,j,ca=0; cin>>T...
阅读全文
posted @
2014-08-06 23:17
wangzhili
阅读(126)
推荐(0)
lightoj 1003
摘要:有向图拓扑排序,判段是否存在。#include#include#include#include#include#includeusing namespace std;const int MAXN = 20010;struct Edge{ int to, next;};Edge edge[MAX...
阅读全文
posted @
2014-08-06 23:13
wangzhili
阅读(108)
推荐(0)
lightoj 1002
摘要:最短路的变形,使用spfa做。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace...
阅读全文
posted @
2014-08-06 23:11
wangzhili
阅读(112)
推荐(0)
lightoj 1011 (状态压缩dp)
摘要:思路:状态压缩dp,设dp[i][j] 表示前i行,状态为j时的最大值,状态定义为:若前i行中取了第x列那么j的二进制位中第x位为1,否则为0,最后答案就是dp[n-1][(1 #include#include#include#includeusing namespace std;const int...
阅读全文
posted @
2014-08-05 19:48
wangzhili
阅读(153)
推荐(0)
UVA 10474 Where is the Marble?
摘要:水题#include#include#include#includeusing namespace std;const int MAXN = 10010;int pos[MAXN],a[MAXN];int main(){ int n,x,Q,cnt(0); while(~scanf("%...
阅读全文
posted @
2014-08-01 19:07
wangzhili
阅读(127)
推荐(0)
UVA 156 Ananagrams
摘要:STL的应用#include#include#include#include#include#include#includeusing namespace std;string str, s;mapmp;vectorV, ans;void recordStr(string s){ //cout...
阅读全文
posted @
2014-08-01 19:06
wangzhili
阅读(114)
推荐(0)
UVA 540 Team Queue
摘要:思路:使用优先队列,按队伍出现的时刻和自身出现的时刻定义优先级,同时记录此时刻队列里是否有自己队伍的人,一开始没注意,wa了两发。#include#include#include#include#include#include#includeusing namespace std;const int...
阅读全文
posted @
2014-08-01 19:00
wangzhili
阅读(130)
推荐(0)