ICode9

精准搜索请尝试: 精确搜索
  • 洛谷 P1144 最短路计数2019-07-28 10:55:45

    题目传送门 解题思路: 因为所有的边权都为1,所以一个点的最短路就相当于是它在BFS搜索树中的深度。 一个点最短路一定经过了一个层数比它少一的结点(否则不是最短路)。 所以用每个相邻且层数比当前结点层数少一的点更新当前点的路径条数即可。 //来自GGN_2015大佬的思路 AC代码: 1 #in

  • 背包问题-动态规划2019-07-28 10:41:19

    背包问题 通过观看b站up主大雪菜的视频,把九个背包问题进行学习,并记下笔记 分类: 01背包(只有选和不选) 完全背包(背包容量无限制) 多重背包(物品选的次数有限制) 混合背包 二维费用背包(两个限制) 分组背包问题(物体分组,每组只能选一个物体) 背包问题求方案数 求背包问题的方案(最优方

  • 线段树+由%加快(CF438D The Child and Sequence2019-07-28 09:53:40

    https://www.luogu.org/problem/CF438D 题意 给定数列,区间查询和,区间取模,单点修改。 n,m小于10^5 分析 和花神那题一样,i%k运算可以考虑, i < k时, i不变,所以我们可以维护区间最大值,在给区间[l,r]中的每个元素%k的时候,只要max < k, 就直接return, 由此提速 (提醒: 千万不要用前一题(指花神)

  • News Distribution(Codeforces 1167C)并查集2019-07-28 09:41:55

    Input 7 5 3 2 5 4 0 2 1 2 1 1 2 6 7 Output 4 4 1 4 4 2 2 题意:n(人数),m(组数),m行,先输入k,表示这组有k个人,下面是k个人的编号,同组可以传递信息,问当第i个人是信息源时,有几个人知道信息。 思路:并查集,最好用递归的findd函数,先求出F数组(祖先的编号),然后看第i有几个编号相同的。

  • 守护农场Guarding the Farm2019-07-27 23:56:09

    题意翻译 农夫John的农场里有很多小山丘,他想要在那里布置一些保镖去保卫他的那些相当值钱的奶牛们。 他想知道如果在一座小山丘上布置一名保镖的话,他最少总共需要招聘多少名保镖。他现在手头有一个用数字矩阵来表示地形的地图。这个矩阵有N行(1<N≤700)和M列( 1<M≤ 700) 。矩阵中的

  • 乌龟棋2019-07-27 23:54:28

    [Time Gate] https://www.luogu.org/problem/P1541 【解题思路】 DP 【code】 1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 using namespace std; 5 int i,j,k,l,n,m,a[355],b,f[41][41][41][41],t1,t2,t3,t4,sum; 6 inline int Max(int

  • hdu1823:luck and love2019-07-27 23:53:34

    题目大意:请写一种二维的数据结构,支持: 1)修改某个点 2)查询某一块内的最大值 solution: 这题网上的solution有些错了2333,写这个的目的也是给大家做一个参考。 既然二维树状数组无法解决,那我们就用二维线段树咯? 当然二维线段树还是非常好写的(调了我20min) #include<cstdio>#include<iost

  • 2019年牛客多校第四场 B题xor(线段树+线性基交)2019-07-27 23:51:27

    题目链接 传送门 题意 给你\(n\)个基底,求\([l,r]\)内的每个基底是否都能异或出\(x\)。 思路 线性基交板子题,但是一直没看懂咋求,先偷一份咖啡鸡板子写篇博客吧~ 线性基交学习博客:传送门 代码实现如下 #include <set> #include <map> #include <deque> #include <queue> #include <st

  • Codeforces Round #218 (Div. 2)2019-07-27 23:35:53

    原文链接:http://www.cnblogs.com/riasky/p/3464963.html 500pt, 题目链接:http://codeforces.com/problemset/problem/371/A 分析:k-periodic说明每一段长度为k,整个数组被分成这样长度为k的片段,要使得修改最少,求出k长度的片段中每个位置出现次数最多的数就

  • android – 如何在底部对齐Include?2019-07-27 22:27:27

    我有一个问题,因为我无法真正设置包含布局以保持对齐底部,这让我很烦恼!这是我的一段代码,我希望你能帮助我! 非常感谢! <ImageButton android:id="@+id/button1" android:layout_margin="30dp" android:background="@drawable/moncompte" android:layout_width="130

  • 【动态规划】洛谷 P1282 多米诺骨牌2019-07-27 22:03:03

    【动态规划】洛谷 P1282 多米诺骨牌 时间限制: 1 Sec  内存限制: 128 MB 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多

  • 单(liu_runda学长的神题)2019-07-27 21:57:11

    好像用到一些高中数学知识...... 满分做法: case 0:已知a数组求b数组 因为是树状结构,设当前节点x 儿子to 我们从任意一点出发可求出b[root]来,之后我们可以通过寻找两两相连节点的关系来O(n)推出全部的b 我们发现x与y之间只有一条边的贡献不同,就是他们相连的边 (边的贡献即该边节点所

  • 牛客:均分糖果2019-07-27 21:45:25

    题目链接:https://ac.nowcoder.com/acm/contest/948/C 题意: 中文题,不再描述。 分析: 直接我也描述不好, 直接看代码把,然后在纸上模拟一遍就行了,其中很巧妙。 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N = 110; int a[N];

  • 凑硬币2019-07-27 21:43:35

    #include <stdio.h> #include <math.h> void main() { int count = 0; for(int i = 1;i <= 98;i++) { for(int j = 1;j <= 98;j++) { for(int k = 1;k <= 98;k++) { if(i*5+j*2+k == 150 && i+j+k == 100) { ++count

  • 牛客:传送门(DFS || 模拟)2019-07-27 21:43:13

    题目链接:https://ac.nowcoder.com/acm/contest/948/B 题意: 中文题,不再描述。 分析: 模拟很简单,首先看a能否直接到b,然后看a能否先到b以后的城市,然后再回到b。 dfs,根据给出的信息,建立一个图,然后从a遍历一下,看能否到b #include <cstdio> #include <cstring> #include <algorithm>

  • P5357 【模板】AC自动机(二次加强版)2019-07-27 21:02:59

    非AC版,会T,待更新 #include<iostream>#include<cstdio>#include<queue>#include<algorithm>#include<cmath>#include<ctime>#include<set>#include<map>#include<stack>#include<cstring>#pragma GCC optimize(2)#de

  • POJ1861(Network)-Kruskal2019-07-27 21:02:13

    题目在这 Sample Input 4 61 2 11 3 11 4 22 3 13 4 12 4 1 Sample Output 141 21 32 33 4 题目意思:4个点,6个边,每个边有对应的权值。最后输出一行为路径中最大的边的值,第二行为路径上边的总数, 第三行为每条边的始末编号。题目需要求出最小生成树的最大边的最小值。 1 /* 2 Probl

  • 最小生成树-Kruskal算法2019-07-27 21:01:54

    与Prim算法贪心选择不同,Kruskal算法采取每次选择权值最小的边的方法,这样,在不构成环且最后能够连接完所有边它们的权重和一定是最小的。 和之前Prim算法的图一样,便于区别二者。 Kruskal既然是选择最小的边,那么就先找一个最小的出来,是1-6(10) 然后继续找出剩下的边中最小一条边,是3-

  • 找出最小值2019-07-27 20:55:48

    找出最小值 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main(void) { 5 int i,n,num,min; 6 scanf("%d",&n); 7 for(i=1;i<=n;i++){ 8 scanf("%d",&num); 9 if(i==1){10 min=nu

  • Aggressive cows 愤怒的牛(二分)2019-07-27 20:54:55

    Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at positions x1,...,xN (0 <= xi <= 1,000,000,000). His C (2 <= C <= N) cows don't like this barn lay

  • uva 1335 - Beijing Guards(二分)2019-07-27 20:43:58

    原文链接:http://www.cnblogs.com/riasky/p/3464915.html 题目链接:uva 1335 - Beijing Guards 题目大意:有n个人为成一个圈,其中第i个人想要r[i]种不同的礼物,相邻的两个人可以聊天,炫耀自己的礼物。如果两个相邻的人拥有同一种礼物,则双方都会很不高兴,问最

  • hdu1114小猪抢劫银行2019-07-27 20:41:40

    原文链接:http://www.cnblogs.com/riasky/p/3429090.html  题目:http://acm.hdu.edu.cn/showproblem.php?pid=1114 完全背包 题意:给出小猪钱罐的重量和装满钱后的重量,然后是几组数据,每组数据包括每种钱币的价值与重量,要求出重量最少能装满钱罐时的最大价

  • 例 3-14 计算长方体的体积2019-07-27 20:37:16

    #include <iostream> #include <iomanip> using namespace std; int getVolume(int length, int width = 2, int height = 3); int main() { const int X = 10, Y = 12, Z = 15; cout << "Some box data is " ; cout << getVolume(X,

  • KMP算法基础与习题2019-07-27 20:36:45

    目录   算法讲解 NEXT数组详解 模板 例题 A:HDU-1711 Number Sequence B:HDU-1686 Oulipo C:HDU-2087 剪花布条 D:HDU-3746 Cyclic Nacklace E:HDU-1358 Period F:POJ-2406 Power Strings G:POJ-2752 Seek the Name, Seek the Fame H:POJ-3080 Blue Jeans 算法讲解(转自KMP算法

  • 201907272019-07-27 20:03:30

    赛马 题意简述 田忌和齐王又要赛马了,他们将各派出 $N$ 匹马,每场比赛输的一方需要给赢的一方 200 两黄金,平局的话双方都不比出钱,已知所有马的速度,且齐王的出马顺序永远固定,求田忌的最大收益。 $N\leq 10^3$ 。 $solution:$ 考虑将两个人的马按从大到小排序,发现对于齐王的马从大到小

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有