博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ural 1091. Tmutarakan Exams 和 codeforces 295 B. Greg and Graph
阅读量:4569 次
发布时间:2019-06-08

本文共 1839 字,大约阅读时间需要 6 分钟。

ural 1091 题目链接:

题意是从1到n的集合里选出k个数,使得这些数满足gcd大于1

解法:

因子有2的数: 2,4,6,8,10,12,14.。。

因子有3的数:3,6,9,12,15,18,21.。。

因子有5的数:5,10,15,18,21,24.。。

可以看出这里求出的集合时会有重复的,得去从。可惜没有学过容斥原理。不过解决这题还是没问题的。

50以内的素因子有:2, 3, 5, 7, 11, 13, 17, 19, 23只有这些素因子才可能产生集合元素大于2的集合

排除重复度为2的集合: 6{2,3(因子2和因子3造成集合重复)}, 10{2,5},14{2,7}, 22{2, 11}, 15{3,5},21{3,7}

代码为:

IN = lambda : map(int, raw_input().split() )prime = [2, 3, 5, 7, 11, 13, 17, 19, 23]x = [6, 10, 14, 22, 15, 21]k, s = IN()c =[ [0]*(s+1) for i in xrange(s+1) ]for i in xrange(s+1):    c[i][1] = i; c[i][0] = 1; c[i][i]=1for i in xrange(1,s+1):    for j in xrange(1, i):        c[i][j] = c[i-1][j]+c[i-1][j-1]sum = 0for v in prime:    if s/v

 

cf 295B

题意是:按照一定顺序删除点并删除与点相连的线,求删除该点前的点集合里两两点的最短距离。

这题我以前看到过类似的,很自然就想到了从后往前处理,每次把这个点加进去循环更新距离,这个类似floyed

python代码:肯能是python效率问题吧,这个代码过不了。TLE,但是换成c++就过了

from sys import stdin,stdoutIN = lambda: [ int(x) for x in stdin.readline().split()  ]n = int( stdin.readline().strip() )edge = []for i in xrange(n):        edge.append( IN() )x = IN()ans = [0]*nfor k in xrange(n-1, -1, -1):        for i in xrange(n):                for j in xrange(n):                        edge[i][j] = min( edge[i][j], edge[i][x[k] -1] + edge[x[k]-1 ][j] )        for i in xrange(k, n):                for j in xrange(k, n):                        ans[k] += edge[x[i]-1 ][x[j]-1 ]print ' '.join( map(str,ans ) )

c++ code:

#include 
#include
#include
#include
using namespace std;#define maxn 505int n, edge[maxn][maxn];int x[maxn];long long ans[maxn];int main(int argc, char**argv){ cin >> n; for ( int i=0; i
> edge[i][j]; for ( int i=0; i
>x[i]; for ( int k=n-1; k>=0; --k ){ for ( int i=0; i

 

 

转载于:https://www.cnblogs.com/TengXunGuanFangBlog/p/codeforces_algorithm.html

你可能感兴趣的文章
C# winform端 通过HttpWebRequest进行post和get请求,数据格式为json,后台java端接收,其中有关传输特殊字符(\t,\r,',\n,n)等处理...
查看>>
4069: [Apio2015]巴厘岛的雕塑
查看>>
yii2常用路径获取
查看>>
18 | 眼前一亮:带你玩转GUI自动化的测试报告
查看>>
Gitlab修改默认端口
查看>>
功能规格说明书
查看>>
JavaScipt30(第七个案例)(主要知识点:数组some,every,findIndex方法)
查看>>
Android 采用HttpClient提交数据到服务器
查看>>
EL表达式概述
查看>>
word中批量修改图片大小
查看>>
Ext4 中 日期和时间的控件
查看>>
最长子序列问题
查看>>
python中一些有用的函数------持续更新中
查看>>
第三次作业—张淑华
查看>>
python 实现字符串的切片功能
查看>>
Centos 文件权限修改
查看>>
使用Amazon Simple Queues Service (SQS)实现与AutoCAD远程交互
查看>>
oracle 游标
查看>>
滚动条滚动到最底部的方法总结
查看>>
想不劳而获的人太多了,而我就是其中一个
查看>>