http://www.bnuoj.com/bnuoj/problem_show.php?pid=20838

【题意】:

  有点长,略。

【code】:

  

 #include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
#include <math.h>
#include <algorithm> using namespace std; double rat[][];
double drat[][]; struct Nod
{
int id;
double rt;
}node[]; int m,n; bool cmp(Nod a,Nod b)
{
return a.rt>b.rt;
} double getAns(int a,int b)
{
int i;
double sum=;
for(i=;i<=n;i++)
{
if(rat[i][a]>&&rat[i][b]>)
{
sum+=(rat[i][a]-rat[i][b])*(rat[i][a]-rat[i][b]);
}
}
return 1.0/(sum+);
} void getDrat()
{
int i,j;
for(i=;i<=m;i++)
{
drat[i][i]=;
for(j=i+;j<=m;j++)
{
drat[i][j]=drat[j][i]=getAns(i,j);
}
}
} int main()
{
int c;
scanf("%d%d%d",&n,&m,&c);
memset(rat,,sizeof(rat));
while(c--)
{
int a,b;
scanf("%d%d",&a,&b);
scanf("%lf",&rat[a][b]);
}
getDrat();
int x;
while(~scanf("%d",&x))
{
printf("Recommendations for user %d:\n",x);
int i,cnt=,j;
double down=,up=;
for(i=;i<=m;i++)
{
if(rat[x][i]==)//i=6
{
down=,up=;
for(j=;j<=m;j++)
{
if(rat[x][j]>)
{
down+=drat[i][j];
up+=drat[i][j]*rat[x][j];
}
}
node[cnt].id = i;
node[cnt].rt = up/down;
cnt++;
}
}
sort(node,node+cnt,cmp);
for(i=;i<cnt&&i<;i++)
{
printf("%d %.3lf\n",node[i].id,node[i].rt);
}
putchar();
}
return ;
}

bnuoj 20838 Item-Based Recommendation (模拟)的更多相关文章

  1. bnuoj 29373 Key Logger(模拟双向队列)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=29373 [题意]:模拟光标输入 [题解]:用双向列表模拟实现,这里用其他模拟会超时,注意内存的释放 ...

  2. (转) Quick Guide to Build a Recommendation Engine in Python

    本文转自:http://www.analyticsvidhya.com/blog/2016/06/quick-guide-build-recommendation-engine-python/ Int ...

  3. Recommendation system

    Dear Prof.Choi: My research interest is mainly the application and optimization of big data and arti ...

  4. 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives

    (聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...

  5. Understanding Item Import and Debugging Problems with Item Import (Doc ID 268968.1)

    In this Document Purpose Details   Scenario 1: Testing the basic item import with minimum columns po ...

  6. Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

    注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线,也 就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...

  7. c#取得post和get的数据和模拟发送

    可以放在控制器的入口函数中,这样载入就会被调用 asp.net mvc,get+post: public ActionResult Index() { ) { foreach (var item in ...

  8. PyQt学习随笔:Qt中tem Views(Model-Based)和Item Widgets(Item-Based)控件的用途和关系

    在界面程序开发中,数据的展示主要包括表格.简单列表.树状列表以及纯文本等多种方式,在Qt中将界面表格.简单列表.树状列表称为"表项视图类(item view class)",并提供 ...

  9. Mahout推荐算法API详解

    转载自:http://blog.fens.me/mahout-recommendation-api/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, ...

随机推荐

  1. Java Concurrency - Semaphore 信号量

    Semaphore 是一个控制访问多个共享资源的计数器. 当一个线程想要访问某个共享资源,首先,它必须获得 semaphore.如果 semaphore 的内部计数器的值大于 0,那么 semapho ...

  2. android 使用两个surfaceview 在摄像机画面上绘图

    转载自http://blog.csdn.net/jesse__zhong/article/details/24934083 使用双surface,将第一个设置为透明背景,在摄像机上绘制图像,纠结搞了一 ...

  3. iOS设备中WiFi、蓝牙和飞行模式的开启与关闭

    转自:http://www.cnblogs.com/OtionSky/archive/2011/11/08/iOS_WiFi_Controller.html 今天写了一段有关在iPhone程序中开关W ...

  4. Core Bluetooth Programming Guide

    https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth ...

  5. Android之线程终止

    Hanlder是线程与Activity通信的桥梁,利用handler接收到任务线程,放到任务队列里面派对执行. 1.初始化的时候,定义启动的线程为一个守护线程,这样当主线程消亡掉的时候,其他线程也会被 ...

  6. 配置对IIS上tabular的 HTTP 访问

    上周网管说某部门一同事用的自家电脑办公,操作系统是正版win8家庭版,不能加入公司域,求解如何访问数据仓库. 以前一直以为只有域内用户才能使用数据仓库,没办法有问题总要给人解决,一味地推脱不但会影响其 ...

  7. IOS UITabelView的cell

    一.Cell的重用原理 iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存.要解决该问题,需要重用 ...

  8. C# 添加,修改,删除文件夹/文件集合

    C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw ...

  9. OC2_使用系统协议

    // // Dog.h // OC2_使用系统协议 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zhangxuem ...

  10. 用JS实现回文数的精准辨别!!!

    笔者最近在一边看<JS高级程序设计3>一边在FCC上找题目练习啊.那叫一个爽.这不,刚刚用生命在课堂,寝室,实验室,图书馆等各种场所将第五章"引用类型"搞定,FCC便知 ...